【声明:版权全部。欢迎转载,请勿用于商业用途。 联系信箱: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,全屏,否则就是非全屏。
流程就是这么简单。
版权声明:本文博客原创文章。博客,未经同意,不得转载。