【声明:版权全部。欢迎转载,请勿用于商业用途。  联系信箱: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. iOS_25彩票_幸运转盘

    终于效果图: 各个view的关系图: 背景圆盘(须要扣图处理)LuckyBaseBackground.png 盖在背景圆盘上面的转盘 LuckyRotateWheel.png watermark/2/ ...

  2. 开源 免费 java CMS - FreeCMS1.9 会员组管理

    项目地址:http://www.freeteam.cn/ 会员组管理 会员组分为两种,一级是经验会员组,一种是特殊会员组. 经验会员组的会员会依据经验自己主动变更,特殊会员组不会自己主动变更,须要管理 ...

  3. 用VS2005编译生成Lua库文件和解释器

    TMD,本来很简单的东西,网上说的乱七八糟,说的也不明白,大家抄来抄去,估计都不自己实践的..花了半个下午研究了一下,总结一下. 1)下载lua工程文件,地址为http://www.lua.org/f ...

  4. 教你怎么去一个APP的JSON数据,你懂的

    今天闲着没事.谁让我今天是光棍节呢,算给大家一个福利.没事逛着应用市场.想找个应用高仿下,突然发现一个应用竟然跟我一个名字尼玛,尼玛应用界面做的非常easy.我认为应该不难. 惯性操作想去破解APK. ...

  5. lca转RMQ

    这个博客写得好 #include <stdio.h> #include <vector> #include <string.h> using namespace s ...

  6. Javascript语言精粹之String常用方法分析

    Javascript语言精粹之String常用方法分析 1. String常用方法分析 1.1 String.prototype.slice() slice(start,end)方法复制string的 ...

  7. windows phone (16) UI变换 下

    原文:windows phone (16) UI变换 下 上一篇中说到四个变换类,都是比较简单的,这里要说到四个变换类,分别为: MatrixTransfrom矩阵变换,一句标准矩阵表示的变换 Tra ...

  8. leetcode先刷_Binary Tree Level Order Traversal II

    非常easy标题,在后面,我不认为它不是那么简单的回答更多的.我们将编写,没有人啊. 预购在基层上,加上节省每一层,加上从下往上的输出,是一家vector而一个stack那么问题,没有他,但另一方面- ...

  9. [Unity3D]Unity4全新的动画系统Mecanim

    Unity4.X添加一个新的动画系统,以取代原有的3.X旧的动画系统,全新的动画系统Mecanim是官方推荐,它使我们能够写更少的代码实现连续动画. 效果图 Unity3.X中动画系统播放动画 使用播 ...

  10. android选择和裁剪图像拍摄的图像

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/39994913 近期从曾经的项目中扒下来一个经常使用的模块.在这里有必要记录一下的. ...