搜索
bottom↓
回复: 7

rtGUI 中button事件的问题

[复制链接]

出0入0汤圆

发表于 2011-12-18 13:50:41 | 显示全部楼层 |阅读模式
我现在对应收音机项目和RTT例程中的GUI例子学习GUI,今天发现botton中有一个rtgui_button_set_onbutton函数可以将按键和对应的事件回调函数绑定。我的理解就是调用他之后,再单击这个botton就会自动调用对应的回调函数,不知道我的理解对不对。
而后来我看收音机的程序,发现其中并没有通过这种方法来绑定按键的回调函数,而是通过在home_view_event_handler事件函数中读取触摸屏的坐标,然后根据坐标判断到底是触摸了那个按键,然后再分别去掉用各自的按键回调函数。我感觉上面这个过程更加合理。我这里不理解为什么这里不使用rtgui_button_set_onbutton这个函数直接绑定呢?是不能在触摸屏里面使用吗?
另外,我发现使用rtgui_button_set_onbutton函数绑定的例子里面并没有调用botton的事件处理函数,是不是使用这个函数绑定之后就不需要在调用botton的even_handler函数了?另外使用这个函数是如何根据触摸屏的坐标来判断到底是按动了那个键?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-12-19 08:36:20 | 显示全部楼层
好像 是两类按键不同的。 一类是pushbutton,一类是button.

出0入0汤圆

 楼主| 发表于 2011-12-19 09:05:22 | 显示全部楼层
应该不是,rtgui_button_set_onbutton方法应该是对于所有的botton都有效。

出0入0汤圆

 楼主| 发表于 2011-12-19 13:34:14 | 显示全部楼层
已经解决了,刚才咨询了老大,得到答复:在触摸屏上创建N个botton之后,给每个botton利用set_onbutton绑定回调函数,之后系统会自动筛选消息里面坐标符合对应的botton范围的消息,一旦有这个消息就会自动调用之前绑定的回调函数,不再需要通过even_handler函数来读取坐标值,然后在根据坐标值人工判断那个按键被按下。
因此使用botton的时候使用这个函数很方便,只需要绑定回调函数,剩下的事情就使系统搞定了。

出0入0汤圆

发表于 2011-12-19 22:18:53 | 显示全部楼层
学习了

出0入0汤圆

发表于 2012-9-14 15:02:47 | 显示全部楼层

出0入0汤圆

发表于 2012-10-10 15:51:51 | 显示全部楼层
嘿,那触摸屏位置的按键判断,通常是什么时候用呢?

出0入0汤圆

发表于 2013-3-19 17:10:42 | 显示全部楼层
请问楼主:怎么将这个触摸屏和button结合起来??也得通过操作系统控制触摸屏这个事吗?我刚接触RTT,还不是很明白怎么回事。希望楼主指点一下。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 09:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表