【声明:版权全部。欢迎转载,请勿用于商业用途。  联系信箱: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学习记录(形成全屏幕套件)的更多相关文章

  1. ftk学习记录(一个进度条文章)

    [ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 首先.在開始今天的文章之前.我们还是给朋友们展示一下前面一段代码的执行效果.效果例如以下, w ...

  2. ftk学习记录(多形式的文章)

    [声明:版权全部.欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在上周末的博客中,我们谈到了list view,今天能够看看效果图怎样. 假设大家细心一点,能够 ...

  3. ftk学习记录(脚本文章)

    [声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 上一篇说到了对话框.今天就看看结果. watermark/2/text/aHR0cDovL2Js ...

  4. ftk学习记录(button一片)

    [ 声明:版权所有所有.欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 前面,我们说到了label,这里能够看一下label执行的效果是怎么样的. waterma ...

  5. ftk学习记录(IME文章)

    [声明:版权全部,欢迎转载.请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 前面说的是全屏设置,还是请大家看一下效果图. watermark/2/text/aHR0cDovL ...

  6. UWP学习记录3-设计和UI之样式

    UWP学习记录3-设计和UI之样式 1.颜色 在系统的“设置”>“个性化”>“颜色”里,提供了主题色选择.选定主题色后,会根据颜色亮度的 HSB 值创建浅色和深色的主题色. 应用可使用阴影 ...

  7. HTTP学习记录

    title: HTTP学习记录 toc: true date: 2018-09-21 20:40:48 HTTP协议,HyperText Transfer Protocol,超文本传输协议,是因特网上 ...

  8. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  9. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

随机推荐

  1. XP下採用DirectShow採集摄像头

    转载请标明是引用于 http://blog.csdn.net/chenyujing1234 欢迎大家提出意见,一起讨论! 须要演示样例源代码的请独自联系我. 前提: 摄像头能正常工作.摄像头有创建di ...

  2. QVector<QString> 显示器里面的动态数组元素QString和char *转变

    QVector类是一类提供了动态数组模板. QVector<T>是Qt普通容器类的一种. 它将自己的每个对象存储在连续的内存中.能够使用索引號来高速訪问它们.QList<T>. ...

  3. Qt国际化相关类

    QTextCodec QTextCodec为文本编码之间提供转换. Qt用Unicode 来存储,绘制和操作字符串.在很多情况下你可能希望操作不同编码的数据.例如,大部分日本文档是以Shift-JIS ...

  4. ByteBuffer的allocate和allocateDirect

    在Java中当我们要对数据进行更底层的操作时,一般是操作数据的字节(byte)形式,这时经常会用到ByteBuffer这样一个类.ByteBuffer提供了两种静态实例方式: public stati ...

  5. Netty In Action中国版 - 第二章:第一Netty程序

    本章介绍 获得Netty4最新的版本号 设置执行环境,以构建和执行netty程序 创建一个基于Netty的server和client 拦截和处理异常 编制和执行Nettyserver和client 本 ...

  6. Mac下使用MySQL

    0 安装 http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17-osx10.7-x86.dmg http://dev.mysql.com/down ...

  7. php文件操作基本使用方法

    <?php /* $fp=fopen("tmp.html","r"); $str=fread($fp,filesize("tmp.html&qu ...

  8. Android规范发展

    一.Android 编码规范 1.java 代码中不出现中文.最多凝视中能够出现中文 2.局部变量命名.静态成员变量命名 仅仅能包括字母,单词首字母出第一个外,都为大写,其它字母都为小写 3.常量命名 ...

  9. Lucene40SkipListWriter

    多级跳跃表是保存在tim文件里的. tip是term index,tim是term dictionary.记忆方法是,p是pointer因此是term index. 这个类会保存多个level的las ...

  10. 11gR2更换OCR和VOTE

    11gR2开始,OCR和VOTE它们被存储在ASM磁盘组,因此,更换OCR有两种方法,第一是使用ASM磁盘组drop disk数据重组后,另一种方法是OCR迁移到另一个磁盘组 第一种:add disk ...