ftk学习记录(形成全屏幕套件)
【声明:版权全部。欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
好久不写博客了。今天续上。
可是,我们还是看一下上一期的执行结果,
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpeGlhb3hpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
上面窗体中有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,全屏,否则就是非全屏。
流程就是这么简单。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
ftk学习记录(形成全屏幕套件)的更多相关文章
- ftk学习记录(一个进度条文章)
[ 声明:版权全部,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 首先.在開始今天的文章之前.我们还是给朋友们展示一下前面一段代码的执行效果.效果例如以下, w ...
- ftk学习记录(多形式的文章)
[声明:版权全部.欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 在上周末的博客中,我们谈到了list view,今天能够看看效果图怎样. 假设大家细心一点,能够 ...
- ftk学习记录(脚本文章)
[声明:版权全部,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 上一篇说到了对话框.今天就看看结果. watermark/2/text/aHR0cDovL2Js ...
- ftk学习记录(button一片)
[ 声明:版权所有所有.欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 前面,我们说到了label,这里能够看一下label执行的效果是怎么样的. waterma ...
- ftk学习记录(IME文章)
[声明:版权全部,欢迎转载.请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 前面说的是全屏设置,还是请大家看一下效果图. watermark/2/text/aHR0cDovL ...
- UWP学习记录3-设计和UI之样式
UWP学习记录3-设计和UI之样式 1.颜色 在系统的“设置”>“个性化”>“颜色”里,提供了主题色选择.选定主题色后,会根据颜色亮度的 HSB 值创建浅色和深色的主题色. 应用可使用阴影 ...
- HTTP学习记录
title: HTTP学习记录 toc: true date: 2018-09-21 20:40:48 HTTP协议,HyperText Transfer Protocol,超文本传输协议,是因特网上 ...
- Quartz 学习记录1
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
- Java 静态内部类与非静态内部类 学习记录.
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...
随机推荐
- Unity3D发布WebPlayer时Failed to download data file解决方案
今天发布WebPlayer时, 发现直接打开html是可以正常运行的, 但是通过iis访问的话就会报错: Failed to download data file. 一开始以为是防火墙, 后来发现不是 ...
- C# 简化优化if/switch 表驱动法
表示这个很强大 字典加反射,搞定多window的switch public partial class MainWindow : Window { Dictionary<string, Type ...
- java日历程序版本
//MainFrame.java package com.huowolf.myCalender; import java.awt.BorderLayout; import java.awt.Color ...
- 2012天津E题
给我们n个坐标点和一个距离d,表示车开m米就没油了. 然后要选几个点建立油站,使得能够从1出发遍历所有的点,然后回到1. 并且规定1这个点必须有油站,在第i个点建立油站的费用是 2^(i-1) 因为 ...
- Android error:No CPU/ABI system image available for this target
原文:Android error:No CPU/ABI system image available for this target No CPU/ABI system image available ...
- 在Eclipse在使用JUnit4单元测试(0基础知识)
自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,须要写成千上万个方法或函数.这些函数的功能可能非常强大,但我们在 ...
- Android开发中验证码的生成
近期在做电商金融类的项目,验证码的生成方法不可缺少.先学习了一种.经过測试好用.从别处学习的代码,稍修改了一下可选择是否支持识别大写和小写.直接上代码. import android.app.Acti ...
- FS SIP呼叫的消息线程和状态机线程
THREAD 当收到一次呼叫的时候,FS会在TU层创建两个线程,一个线程为状态机线程,另外一个为消息线程.状态机线程通过switch_core_session_thread_launch创建,顾名思义 ...
- Spring系列
Spring系列之访问数据库 阅读目录 一.概述 二.JDBC API的最佳实践 三.Spring对ORM的集成 回到顶部 一.概述 Spring的数据访问层是以统一的数据访问异常层体系为核心,结 ...
- Windows 8 应用开发 - 异步调用
原文:Windows 8 应用开发 - 异步调用 不论是桌面客户端还是Web应用通常会出现处理时间较长的操作,为了在这段时间内不影响用户与应用之间的交互体验,开发人员通常会使用异步调用技术,使 ...