ftk学习记录(button一片)
【 声明:版权所有所有。欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
前面,我们说到了label,这里能够看一下label执行的效果是怎么样的。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpeGlhb3hpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
大家能够对比上面的结果图。看看我们之前的描写叙述是否正确。
说完了label,能够看看button是怎么设计的。
button是gui设计中的一个基本控件。通常我们按下了一个button。意味着此时想处理一个事情。详细是什么事情,全然能够通过设定一个回调函数来编写完毕。相同,我们能够用一段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_hide_clicked(void* ctx, void* obj)
{
ftk_widget_show(ftk_widget_lookup(ctx, IDC_TEST_BUTTON), 0); return RET_OK;
} static Ret button_show_clicked(void* ctx, void* obj)
{
ftk_widget_show(ftk_widget_lookup(ctx, IDC_TEST_BUTTON), 1); return RET_OK;
} static Ret button_default_clicked(void* ctx, void* obj)
{
printf("%s: button %s is clicked.\n", __func__, ftk_widget_get_text(obj)); return RET_OK;
} int FTK_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/3 - 10;
button = ftk_button_create(win, 0, 30, width, 50);
ftk_widget_set_text(button, "show");
ftk_button_set_clicked_listener(button, button_show_clicked, win); button = ftk_button_create(win, width + 10, 30, width, 50);
ftk_widget_set_text(button, "hide");
ftk_button_set_clicked_listener(button, button_hide_clicked, win); button = ftk_button_create(win, 2*(width + 10), 30, width, 50);
ftk_widget_set_text(button, "按钮測试");
ftk_widget_set_id(button, IDC_TEST_BUTTON);
ftk_button_set_clicked_listener(button, button_default_clicked, win); button = ftk_button_create(win, 0, 130, width, 40);
ftk_widget_set_text(button, "yes");
ftk_button_set_clicked_listener(button, button_default_clicked, win); button = ftk_button_create(win, 2*(width + 10), 130, width, 40);
ftk_widget_set_text(button, "no");
ftk_button_set_clicked_listener(button, button_default_clicked, win); button = ftk_button_create(win, width + 10, 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, "button demo");
ftk_widget_show_all(win, 1);
ftk_widget_set_attr(win, FTK_ATTR_QUIT_WHEN_CLOSE); ftk_run(); return 0;
}
上面的代码有80行左右,可是流程不复杂。相同,代码在创建了一个win控件后。创建了六个button控件。它们依次是show、hide、按钮測试、yes、no、quit。当然,在创建button的时候,我们还得配置对应的回调函数。这里有四个回调函数。button_quit_clicked是quit使用。而button_default_clicked是缺省使用的回调函数。
基本的两个函数还是button_show_clicked和button_hide_clicked。一个是显示button,一个是隐藏button,当中隐藏的button就是我们之前创建的“按钮測试”这个button。
想看看执行效果的朋友,敬请期待以下一篇博文。
版权声明:本文博主原创文章。博客,未经同意不得转载。
ftk学习记录(button一片)的更多相关文章
- ftk学习记录(一个进度条文章)
[ 声明:版权全部,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 首先.在開始今天的文章之前.我们还是给朋友们展示一下前面一段代码的执行效果.效果例如以下, w ...
- ftk学习记录(多形式的文章)
[声明:版权全部.欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 在上周末的博客中,我们谈到了list view,今天能够看看效果图怎样. 假设大家细心一点,能够 ...
- ftk学习记录(形成全屏幕套件)
[声明:版权全部.欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 好久不写博客了.今天续上. 可是,我们还是看一下上一期的执行结果, watermark/2/te ...
- ftk学习记录(脚本文章)
[声明:版权全部,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 上一篇说到了对话框.今天就看看结果. watermark/2/text/aHR0cDovL2Js ...
- ftk学习记录(IME文章)
[声明:版权全部,欢迎转载.请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 前面说的是全屏设置,还是请大家看一下效果图. watermark/2/text/aHR0cDovL ...
- jQuery Moblile Demos学习记录Theming、Button、Icons图标,脑子真的不好使。
jQuery Moblile Demos学习记录Theming.Button.Icons图标,脑子真的不好使. 06. 二 / Jquery Mobile 前端 / 没有评论 本文来源于www.i ...
- UWP学习记录6-设计和UI之控件和模式3
UWP学习记录6-设计和UI之控件和模式3 1.按钮 按钮,响应用户输入和引发 Click 事件的控件. 使用<Button>就能创建一个按钮控件了.按钮是 ContentControl, ...
- V4L2学习记录【转】
转自:http://blog.chinaunix.net/uid-30254565-id-5637600.html V4L2学习记录 这个还没有分析完,先在这放着,防止电脑坏掉丢了,以后再完善 V4L ...
- 中级实训Android学习记录——Toast、AlertDialog、ProgressBar
学习记录 2020/11/22 Toast Toast Toast是一个消息提示组件 我们可以设置其显示的位置 自定义其显示的内容 对Toast的简单封装可以达到不同的目的 Toast的默认用法 To ...
随机推荐
- [WF4.0 现实] WF4.0 Receive && Send
写这篇博客的目的正是由于这个receive和send使用一直很困惑,有应用程序的多个实例,但整体感觉很模糊认识.每一次遇到,再要弄清楚.如今将这send和receive结合我们之前做的实例(未使用WC ...
- 使用JavaScript检测浏览器
假设你真的需要检测浏览器的类型,使用JavaScript非常easy达到. View Demo Download Source from GitHub JavaScript有一个navigator的标 ...
- 使用Canvas和Paint自己绘制折线图
主要用于Canvas一个特别简单的小demo. 能够手动点击看每一个月份的数据.很easy.就是用paint在canvas上画出来的. 主要内容就是计算左边价格的位置,以下日期的位置,三根虚线的位置, ...
- flex eclipse综合spring入门
首先下载FlashBuilder_4_7_LS10_win64.exe试了几eclipse安装没有成功插头,含有myeclipse8.5.spring sts2.9.2.eclipse3.5.j2ee ...
- ext3文件系统反删除利器ext3grep应用实战
推荐:10年技术力作:<高性能Linuxserver构建实战Ⅱ>全网发行,附试读章节和全书实例源代码下载! 一."rm –rf"带来的困惑 国外一份非常著名的Linux ...
- android4.4组件分析--service组件-bindService源代码分析
6.1.1. bindService 由于有前面分析startService的代码实现过程,则对于bindService的代码分析就不用那么具体介绍,在介绍流程的同一时候更关注一些细节上的部分. ...
- android JNI 简单demo(2)它JNI demo 写
android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...
- Debian 7设备nginx周围环境、编译并安装和启动
/********************************************************************* * Author : Samson * Date ...
- BMP文件格式及读写
转 http://blog.csdn.net/pkueecser/article/details/5579604 http://blog.csdn.net/pkueecser/article/deta ...
- 酒旗少年狂暖风,至0基本的前端开发project教师们学习计划
酒旗风暖少年狂,为0基础前端开发project师做学习计划 夜幕降暂时.走到一张废弃已久的书桌前,打开台灯,看到书桌上已经布满灰尘,而桌上的那盆羸弱的文竹已经枝繁叶茂.我擦干净了桌面,坐了下来,把买回 ...