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,全屏,否则就是非全屏。


    流程就是这么简单。




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






本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4708164.html,如需转载请自行联系原作者


相关文章
|
5月前
|
开发者
一键自动化博客发布工具,用过的人都说好(阿里云篇)
使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到阿里云上。
一键自动化博客发布工具,用过的人都说好(阿里云篇)
|
5月前
|
安全 算法 数据挖掘
《隐私计算简易速速上手小册》第2章:关键技术介绍(2024 最新版)
《隐私计算简易速速上手小册》第2章:关键技术介绍(2024 最新版)
56 1
《隐私计算简易速速上手小册》第2章:关键技术介绍(2024 最新版)
|
5月前
|
安全 测试技术 持续交付
《VitePress 简易速速上手小册》第8章 安全性与部署(2024 最新版)
《VitePress 简易速速上手小册》第8章 安全性与部署(2024 最新版)
96 0
|
5月前
|
JSON 开发者 数据格式
揭秘5.3k⭐开发者的秘密武器:it-tools在线工具集,你不可不知!
揭秘5.3k⭐开发者的秘密武器:it-tools在线工具集,你不可不知!
53 0
|
12月前
|
Windows
[笔记]windows驱动开发
[笔记]windows驱动开发
|
12月前
|
数据库连接 测试技术 开发工具
猿创征文|工具百宝箱-编辑器-笔记工具-日常小工具-原型设计工具
猿创征文|工具百宝箱-编辑器-笔记工具-日常小工具-原型设计工具
|
测试技术 BI Android开发
移动app自动化测试工具发展历程--完整版
移动app自动化测试工具发展历程--完整版
195 0
移动app自动化测试工具发展历程--完整版
|
Web App开发 前端开发 JavaScript
【前端第一课】前端的基本概念;安装各类开发软件;git使用方法
【前端第一课】前端的基本概念;安装各类开发软件;git使用方法
|
机器学习/深度学习 应用服务中间件 Linux
码农必备套件
开发者做为云时代的核心主力军,拥有不可替代的地位。
3933 0
下一篇
无影云桌面