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

在上周末的博客中,我们谈到了list view,今天能够看看效果图怎样。

假设大家细心一点,能够发现list中的item有点差异,有兴趣的朋友能够思考一下原因是什么,事实上能够代码中看出来的。

今天,我们聊的是多窗体的问题。

大多数app。非常少是一个窗体上完毕全部的功能的。

闲话不多说,先看代码。

#include "ftk.h"

static void create_app_window(void);
static Ret button_open_clicked(void* ctx, void* obj)
{
create_app_window(); return RET_OK;
} static Ret button_close_clicked(void* ctx, void* obj)
{
FtkWidget* win = ctx;
ftk_logd("%s: close window %s\n", __func__, ftk_widget_get_text(win));
ftk_widget_unref(win); return RET_OK;
} static int g_index = 0;
static void on_window_close(void* user_data)
{
g_index--; ftk_logd("%s: g_index=%d\n", __func__, g_index);
if(g_index == 0)
{
ftk_quit();
} return ;
} static void create_app_window(void)
{
char title[32] = {0};
int width = 0;
int height = 0;
FtkWidget* win = ftk_app_window_create();
FtkWidget* label = NULL;
FtkWidget* button = NULL; width = ftk_widget_width(win);
height = ftk_widget_height(win); button = ftk_button_create(win, 0, height/6, width/3, 50);
ftk_widget_set_text(button, "创建窗体");
ftk_button_set_clicked_listener(button, button_open_clicked, win); button = ftk_button_create(win, 2*width/3, height/6, width/3, 50);
ftk_widget_set_text(button, "关闭窗体");
ftk_button_set_clicked_listener(button, button_close_clicked, win); snprintf(title, sizeof(title), "window%02d", g_index++);
label = ftk_label_create(win, width/4, height/2, width/2, 30);
ftk_widget_set_text(label, title); ftk_widget_set_text(win, title);
ftk_widget_show_all(win, 1);
ftk_widget_set_user_data(win, on_window_close, win); return;
} int main(int argc, char* argv[])
{
ftk_init(argc, argv); create_app_window(); ftk_run(); return 0;
}

从代码中。大家能够发现出现了流程中出现了一个create_app_window这个函数。

这个函数不仅出如今系统初始的流程中,并且出如今button_open_clicked这个函数中。这说明系统在初始执行的时候,就会创建一个窗体,并且以后每次单击“创建窗体”按钮的时候,也会在当前的窗体之上添加一个窗体。

当然假设想关闭当前窗体,直接单击“关闭窗体”这个按钮就能够了。

闲话不多说,下次上效果图。

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

ftk学习记录(多形式的文章)的更多相关文章

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

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

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

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

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

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

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

    [声明:版权全部.欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 好久不写博客了.今天续上. 可是,我们还是看一下上一期的执行结果, watermark/2/te ...

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

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

  6. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  7. [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …

    [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Pyth ...

  8. V4L2学习记录【转】

    转自:http://blog.chinaunix.net/uid-30254565-id-5637600.html V4L2学习记录 这个还没有分析完,先在这放着,防止电脑坏掉丢了,以后再完善 V4L ...

  9. JavaScript学习记录二

    title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

随机推荐

  1. js:进一步关闭(范围:下一个)

    function fn1(){   //创建一个数组   var fns = new Array();   //i这个变量是保存在fn1这个作用域中   for(var i=0;i<10;i++ ...

  2. If you pay peanuts,you get monkeys

    英文原文:Before you send an email to contact a web developer, please read this… 做为一名开发者,我收到很多关于开发新 web 应 ...

  3. HDU 5074-Hatsune Miku(DP)

    Hatsune Miku Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) T ...

  4. 记得有一个奇怪的ORA-04028: cannot generate diana for object

    开发商称新一package,目前已经在翻译过程中的一些错误.提示PL/SQL:ORA-00942: table or view does not exists.这是一个非常明显的错误,即要么是表不存在 ...

  5. The mell hall——坑爹

    The mell hall 题目描述 In HUST,there are always manystudents go to the mell hall at the same time as soo ...

  6. 恢复js文件在windows默认打开方式

    解决办法: 运行 regedit 打开注册表编辑器,定位 "HKEY_CLASSES_ROOT" > ".js" 这一项,双击默认值将数值数据改为&quo ...

  7. Cocos2d-x学习笔记(1)

    Cocos2d-x原型Cocos2d,基于Cocos2d-iPhone,跨平台. Hello Workd分析: 1."resource"目录 该目录主要用于存放游戏中须要的图片.音 ...

  8. Visual Studio Code中配置GO开发环境

    在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...

  9. windows phone (12) 小试自定义样式

    原文:windows phone (12) 小试自定义样式 样式在BS开发中经常用到,在wp中系统也提供了解决办法,就是对设置的样式的一种资源共享,首先是共享资源的位置,它是在App类中,之前我们已经 ...

  10. ftp桥接到http服务

    先说一下我的需求:我的linodeserver近期ftp和sftp连不上了,port被封了.仅仅有http能够訪问,我没有办法上传文件了.由于我寻常都用beyond compare上传文件,非常方便. ...