搜索
bottom↓
回复: 7

请问workbench是怎么触发事件的

[复制链接]

出0入0汤圆

发表于 2010-11-26 15:36:14 | 显示全部楼层 |阅读模式
view = rtgui_view_create("view");
    rtgui_widget_set_event_handler(RTGUI_WIDGET(view), view_event_handler);
后就会触发一次view_event_handler(struct rtgui_widget* widget, struct rtgui_event* event)这个函数的paint事件
请问这个事件是在什么地方触发他的,另外我想触发别的事件的话 我怎么去触发他呢 用什么函数或者什么方法呢

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-11-26 18:53:12 | 显示全部楼层
paint事件会从server端传递过来,如果是rtgui_widget_update,那么也会有paint事件产生,然后自行处理消化掉。

把rtgui_system.c中的
#define RTGUI_EVENT_DEBUG
打开,就会在控制台上看到事件的发送情况。

出0入0汤圆

 楼主| 发表于 2010-11-29 09:28:32 | 显示全部楼层
回复【1楼】ffxz
-----------------------------------------------------------------------

另外我想触发别的事件的话 我怎么去触发他呢 用什么函数或者什么方法呢

出0入0汤圆

发表于 2010-11-29 19:34:51 | 显示全部楼层
你还需要触发什么事件?RT-Thread/GUI中包括了多种不同的事件,不同的事件触发的方法也不相同。

出0入0汤圆

 楼主| 发表于 2010-12-2 12:17:52 | 显示全部楼层
回复【2楼】31617105
-----------------------------------------------------------------------

比如说我想绘图了 我怎么触发进入 rtgui_widget_set_event_handler(RTGUI_WIDGET(view), view_event_handler);
程序中去,

出0入0汤圆

发表于 2010-12-7 21:08:56 | 显示全部楼层
关切中,我觉得应该是另有个线程去处理例如像鼠标/键盘或认为给一个事件,发给server,然后由server分发,不知道理解的对否?但不知道这个线程是现有的还是另外去编?
   此外,我如果像onbutton事件是button控件自己来发送,还是跟控件没有什么关系?没看懂程序,谢谢!

出0入0汤圆

发表于 2010-12-8 11:57:57 | 显示全部楼层
每个workbench都有一个事件循环的函数。所有的鼠标,触摸事件都会由中断程序发消息到MQ里面。
workbench的事件循环程序就是不停的读这个MQ,有message就拿出来,分析坐标值,找到对应的控件。再call这个控件的事件函数。
Server端也是一样的吧,发消息到MQ.这个我就不是很清楚了。

出0入0汤圆

发表于 2010-12-8 22:56:30 | 显示全部楼层
Gavin Li说得很多,有的时候不明白的地方,稍微看看代码就清楚了。

对于按钮,onbutton实际上并不是一个事件,只有当鼠标在相应的地方点击时,才会被回调到。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-19 12:02

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

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