搜索
bottom↓
回复: 6

RTGUI中的button 如何与触摸屏结合??

[复制链接]

出0入0汤圆

发表于 2013-3-19 17:03:27 | 显示全部楼层 |阅读模式
  我在STM32单片机中跑了RT-Thread操作系统,用RTGUI绘制了一个按钮,点击这个按钮会显示一个菜单,我把GUI界面显示到了触摸屏上。但是不知道怎么通过直接点击触摸屏实现这个按钮的功能~~~不知道有没有做过类似东西的人,求教!!

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

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

出0入0汤圆

发表于 2013-3-19 17:45:32 | 显示全部楼层
rtgui_button_set_onbutton利用这个API来绑定一个button的回调函数,然后在回调函数里面生成,或者显示菜单就可以了剩下的关于触摸位置的解析和消息的传递RTT的GUI会自动搞定的。

出0入0汤圆

 楼主| 发表于 2013-3-19 18:07:40 | 显示全部楼层
tiancaigao7 发表于 2013-3-19 17:45
rtgui_button_set_onbutton利用这个API来绑定一个button的回调函数,然后在回调函数里面生成,或者显示菜单 ...

我编的GUI程序在mini240 quem 上跑 用了rtgui_button_set_onbutton这个函数,在电脑上用鼠标点那个button能达到我要的功能。我在STM32裸机中调了一下触摸屏,最后加上操作系统就不知道怎么回事了。。。我想知道系统怎么就知道你点击屏幕了呢??我刚接触这个两周多一点,对里边很多东西还不明白,您能再详细点解释一下吗?或者您有运行成功的代码吗?不知能否参考一下。。。。如果可以,请发到929250157@qq.cm这个邮箱。

出0入0汤圆

 楼主| 发表于 2013-3-19 18:11:56 | 显示全部楼层
tiancaigao7 发表于 2013-3-19 17:45
rtgui_button_set_onbutton利用这个API来绑定一个button的回调函数,然后在回调函数里面生成,或者显示菜单 ...

我的程序里确实是通过回调函数生成了一个menu。。。

先执行rtgui_button_set_onbutton(button, _onmenu);

产生menu的函数

static void _onmenu(struct rtgui_widget* widget, struct rtgui_event* event)
{
        rtgui_rect_t rect;

        rtgui_widget_get_rect(widget, &rect);
          
        rtgui_widget_rect_to_device(widget, &rect);

        if (menu != RT_NULL)
                rtgui_menu_pop(menu, rect.x1-250, rect.y2 - 50);  //控制menu的位置
}



出0入0汤圆

 楼主| 发表于 2013-3-19 18:13:06 | 显示全部楼层
gosman 发表于 2013-3-19 18:07
我编的GUI程序在mini240 quem 上跑 用了rtgui_button_set_onbutton这个函数,在电脑上用鼠标点那个button ...

是不是我得把触摸这个事件加到操作系统里??

出0入0汤圆

发表于 2013-3-19 19:07:36 | 显示全部楼层
OS里面忽悠一个触摸的线程,这个线程专门处理触摸的发生,并且将触摸的坐标通过消息发送给RTT的GUI的服务器端,服务器端根据坐标解析出到底是那个控件被触摸了,然后激活对应的回调函数。大致的过程是这样的。

出0入0汤圆

 楼主| 发表于 2013-3-20 08:23:27 | 显示全部楼层
tiancaigao7 发表于 2013-3-19 19:07
OS里面忽悠一个触摸的线程,这个线程专门处理触摸的发生,并且将触摸的坐标通过消息发送给RTT的GUI的服务器 ...

我找到了一个touch.c文件,里边确实是建了一个关于触摸屏的线程,但是我不知道里边的初始化应该根据什么配置??不知道能不能给指点一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

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

本版积分规则

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

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

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

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