• ftk学习记录(形成全屏幕套件)



     声明:版权全部。欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

        

        好久不写博客了。今天续上。

    可是,我们还是看一下上一期的执行结果,




        上面窗体中有5个button,有机会的朋友能够编译、执行一把。

        今天,我们的文章比較简单。也算是给大家舒缓一下大脑。

    是否对窗体进行全屏设置,事实上就是设置窗体的一个属性而已。

    为了达到測试目的,我们能够设置两个button,当中一个是设置全屏。另外一个就是去除全屏。ftk中关于全屏的demo代码就是这么写的。

    #include "ftk.h"
    
    #define IDC_TEST_BUTTON 1000
    static Ret button_quit_clicked(void* ctx, void* obj)
    {
    	ftk_quit();
    
    	return RET_OK;
    }
    
    static Ret button_unfullscreen_clicked(void* ctx, void* obj)
    {
    	ftk_window_set_fullscreen(ctx, 0);
    
    	return RET_OK;
    }
    
    static Ret button_fullscreen_clicked(void* ctx, void* obj)
    {
    	ftk_window_set_fullscreen(ctx, 1);
    
    	return RET_OK;
    }
    
    int main(int argc, char* argv[])
    {
    	int width = 0;
    	int height = 0;
    	FtkWidget* win = NULL;
    	FtkWidget* button = NULL;
    
    	ftk_init(argc, argv);
    	
    	win = ftk_app_window_create();
    	width = ftk_widget_width(win);
    	height = ftk_widget_height(win);
    	
    	width = width/2 - 10;
    	button = ftk_button_create(win, 0, height/4, width, 50);
    	ftk_widget_set_text(button, "Fullscreen");
    	ftk_button_set_clicked_listener(button, button_fullscreen_clicked, win);
    
    	button = ftk_button_create(win, width + 10, height/4, width, 50);
    	ftk_widget_set_text(button, "Unfullscreen");
    	ftk_button_set_clicked_listener(button, button_unfullscreen_clicked, win);
    	
    	button = ftk_button_create(win, width/2, height/2, width, 60);
    	ftk_widget_set_text(button, "quit");
    	ftk_button_set_clicked_listener(button, button_quit_clicked, win);
    	ftk_window_set_focus(win, button);
    
    	ftk_widget_set_text(win, "fullscreen");
    	ftk_widget_show_all(win, 1);
    	ftk_widget_set_attr(win, FTK_ATTR_QUIT_WHEN_CLOSE);
    
    	ftk_run();
    
    	return 0;
    }
    


      简单看一下代码流程。

    除了ftk_init和ftk_run之外,代码创建了三个button。除了那个quit的button之外。其它两个就是完毕这个全屏功能的。

    相关的回调函数就是button_unfullscreen_clicked和button_fullscreen_clicked,设置属性的也就是ftk_window_set_fullscreen这个函数。关键參数就是第二个參数。设置为1,全屏,否则就是非全屏。


        流程就是这么简单。




    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    vue 首页问题
    springboot redis
    idea spring-boot总结
    mybatis
    springboot mybatis搭建
    spring mybatics
    后面公司里就通过maven从阿里云下载了, idea springboot+adep
    [Java] 解决异常:“The last packet sent successfully to the server was 0 milliseconds ago.
    [Linux] 由管道父进程向子进程发送数据 (父子间IPC)
    [Linux] 进程间通信--管道 pipe 函数详解 (出自 360百科)
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4708164.html
Copyright © 2020-2023  润新知