ftk学习记(waitbox篇)

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

前面说到了脚本。那么就看看ftk中demo与script搭配的效果是什么样的?

上面的效果图就相似于一个通讯录的输入功能,大家能够和之前的脚本对比起来看,检查一下是不是这种。

如题所看到的,今天所看到的的是waitbox。它出现的场合,通常是交互时间比較长的情况。比方说信用卡付款,游戏登陆等等。闲话不多。直接上demo代码。

#include "ftk.h"

static Ret button_quit_clicked(void* ctx, void* obj)
{
	ftk_quit();

	return RET_OK;
}

static Ret button_start_clicked(void* ctx, void* obj)
{
	ftk_wait_box_start_waiting(ctx);

	return RET_OK;
}

static Ret button_stop_clicked(void* ctx, void* obj)
{
	ftk_wait_box_stop_waiting(ctx);

	return RET_OK;
}

int main(int argc, char* argv[])
{
	int width = 0;
	int height = 0;
	FtkWidget* win = NULL;
	FtkWidget* button = NULL;
	FtkWidget* wait_box = NULL;

	ftk_init(argc, argv);

	win = ftk_app_window_create();
	width = ftk_widget_width(win);
	height = ftk_widget_height(win);

	wait_box = ftk_wait_box_create(win, width/2 - 16, height/4);

	button = ftk_button_create(win, 0, height/2, width/3, 50);
	ftk_widget_set_text(button, "start");
	ftk_button_set_clicked_listener(button, button_start_clicked, wait_box);

	button = ftk_button_create(win, 2*width/3, height/2, width/3, 50);
	ftk_widget_set_text(button, "stop");
	ftk_button_set_clicked_listener(button, button_stop_clicked, wait_box);

	button = ftk_button_create(win, width/4, 3*height/4, width/2, 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, "wait_box demo");
	ftk_widget_show_all(win, 1);
	ftk_widget_set_attr(win, FTK_ATTR_QUIT_WHEN_CLOSE);

	ftk_run();

	return 0;
}

这个demo的流程是非常清晰的。

全文上下的亮点就是三个button的创建。

抛却quit button不谈。仅仅有start button和stop button和我们今天的主题相关。

非常明显,在main函数一開始的时候。系统就创建了一个叫wait_box的变量,所以start button和stop button的响应函数也和这个wait_box相关。果不其然,start button事实上就是让wait_box动起来。而stop button就是让wait_box停止活动,就是这么简单。

想看效果,仅仅能等下次见了。

时间: 2024-10-24 02:32:09

ftk学习记(waitbox篇)的相关文章

ftk学习记(label篇)【转】

转自:http://blog.csdn.net/feixiaoxing/article/details/25000093 版权声明:本文为博主原创文章,未经博主允许不得转载. [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 还是接着上面的一篇博文.之前曾经答应过大家,让大家看一下最简单的ftk程序是怎么运行的.所以,这里我们上传一下图片. 因为还是编辑模式,所以暂时还不能看到图片在网页中是怎么显示的.不过没有关系,这次只是做一个最初的尝试

ftk学习记(首篇)

[ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 非常早之前就知道ftk了,当时主要是由于买了李先静的书,所以知道了这么一个项目.由于对这样的gui的代码非常感兴趣.所以在我闲暇的时候也会拿来看一看.从整个project来看,代码非常工整.平台移植也方便.所以有兴趣的同学能够看一看. 一般对于一个开源项目.要深入地參与当中都要经历几个过程,这各自是使用.阅读.改动.重构. 大多数公司里面也会使用到开源项目,可是往往停留在使用的阶段. 所以.

ftk学习记(label篇)

[ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 还是接着上面的一篇博文. 之前以前答应过大家,让大家看一下最简单的ftk程序是怎么执行的.所以,这里我们上传一下图片. 由于还是编辑模式.所以临时还不能看到图片在网页中是怎么显示的. 只是没有关系,这次仅仅是做一个最初的尝试.假设大家有更好的意见,最好还是用微信扫一下头像或者私信给我,就能够了. 前面的代码还是比較简单的.今天,我们来学习一下label的显示方法.当然,无论大家是做windo

ftk学习记(icon篇)

[声明:版权全部,欢迎转载.请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在開始今天的文章之前.我们还是先看一下上一节的效果图. 大家能够參照上一节的解说,是不是存在这种button,是不是存在这种wait_box控件,相同是不是能够看到wait_box活动的情形.当然,有条件的朋友最好自己编译一下这个demo代码.按步骤调试每一行代码. 今天,如标题所看到的.我们所学习的是icon的内容.简单一点说,此次基本的目的就是想在窗体上显示icon图像的内容. 至于怎样显

ftk学习记(输入框篇)

[ 声明:版权全部.欢迎转载.请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 昨天讲了进度条,我们还是看看它的运行效果是怎么样的.截图例如以下, 进度条使用的情况还是比較多的.只是有一种控件,我们遇到的机会很多其它.那就是输入框.非常难想象,没有输入框的gui是什么样的. 在网上购物或者买车票的时候.非常重要的一条就是输入自己的账户.password信息.所以说,没有输入的话,这些app都无法使用了.相同,我们能够看一下ftk下的输入框demo代码是什么样的. #inc

ftk学习记(combox篇)

[声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 上一篇文章谈到了多窗体,还是依照约定看一下效果是什么样的. 假设大家细心一点.就会发现窗体中的label显示为window01,这事实上是由于我们已经添加了一个窗体,有兴趣的朋友能够尝试编译一下.如题所看到的,今天讨论的是combox.所谓的combox,事实上就是从给出的若干个选择挑选出一个就可以. 闲话少说,还是看代码. #include "ftk.h" #define IDC_

ASP.NET MVC学习之过滤器篇(2)

下面我们继续之前的ASP.NET MVC学习之过滤器篇(1)进行学习. 3.动作过滤器 顾名思义,这个过滤器就是在动作方法调用前与调用后响应的.我们可以在调用前更改实际调用的动作,也可以在动作调用完成之后更改最终返回的结果,当然很多人一定不太明白这个到底可以干什么, 下面我们举一个比较实际的例子: 相信理解过网站的安全的一定知道跨站请求(CSRF具体可以自行百度,这里我就不去解释了),当然也有解决方案,那就是给页面中增加一个识别码,当页面进行POST请求时,首先判断识别码是否正确, 如果正确则继

Alex Fung魔方转法学习记

我学了Alex Fung魔方转法,这是一种精确的数学法,且是一种思路,一个系统解决方案,一种原理,不用死记硬背公式. 这是一篇学习记,所有用到的算法必须去原文查看具体的数学公式和Java Applet的演示.因为我还不会编程演示,所以本文不self-contained,而像是一个数学课抄录的笔记,只是记录我的学习过程. 首先,请拿纸和笔——数学公式必须自己写一遍,自己推导一遍,使得自己看到那些符号,心里不发怵,所以写只是为了变得信任眼熟亲切记得. 魔方基础的令人讨厌气噎眼花缭乱终于整个头脑都拧巴

Git学习——Git分支篇(未完)

Git学习--Git分支篇(未完) 前言 完成了Git学习的基础篇,继续学习Git的分支特性,这是Git出众之处. 目录 分支简介 分支创建 分支切换 分支新建与合并 分支新建 分支合并 遇到冲突时的分支合并 分支简介 首先,Git保存数据的方式比较特殊,保存的是文件的快照,而不是文件的变化. 因此,在执行提交( commit )操作时,Git会保存一个提交对象( commit object).该提交对象包含一个指针指向暂存的内容快照,同时包含作者的姓名.邮箱.提交时输入的信息和指向它父对象的指