Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
rtgui_win结构last_mevent_widget的作用
发布于 2013-01-11 18:11:54 浏览:1654
订阅该版
请教老大和各位大侠 rtgui_win结构体里的last_mevent_widget是做什么用的? Button.c 里 line 163 win->last_mevent_widget = RTGUI_WIDGET(btn);如果删掉这句会有什么后果? 碰到一个问题,界面上有几个按键,连续快速的按,会导致按键失灵。找来找去找到似乎和last_mevent_widget相关。试着删除Button.c里那一行代码,按键失灵问题就解决了。不明白究竟是怎么回事啊 今天又做了个实验,猜想last_mevent_widget的作用是这样的: Button被按下时 win->last_mevent_widget = RTGUI_WIDGET(btn); 当鼠标松开时,无论当前的鼠标位置是否在上一个Button上,上一个被按下的Button都有机会重绘 接下来问题就来了,比如我在屏幕上设计一个键盘,有1,2,3等数字按钮。如果我在空白位置点下鼠标,然后拖至“1”按钮处松开,这时last_mevent_widget会对应按钮"1",我再去按按钮“2” 就不会有反应了。因为从代码上看last_mevent_widget不为NULL(而是指向按钮“1”),我按下按钮“2”时事件根本传递不到按钮“2”。由于windows.c 里的这一段(line540) ``` case RTGUI_EVENT_MOUSE_BUTTON: /* check whether has widget which handled mouse event before */ if (win->last_mevent_widget != RT_NULL) { RTGUI_OBJECT(win->last_mevent_widget)->event_handler( RTGUI_OBJECT(win->last_mevent_widget), event); /* clean last mouse event handled widget */ win->last_mevent_widget = RT_NULL; } else if (rtgui_container_dispatch_mouse_event(RTGUI_CONTAINER(win), (struct rtgui_event_mouse *)event) == RT_FALSE) { #ifndef RTGUI_USING_SMALL_SIZE if (RTGUI_WIDGET(object)->on_mouseclick != RT_NULL) { return RTGUI_WIDGET(object)->on_mouseclick(object, event); } #endif } break;```
查看更多
2
个回答
默认排序
按发布时间排序
grissiom
2013-01-25
这家伙很懒,什么也没写!
不好意思,我来晚了…… 应该在 6850ff2 解决了~ LZ 如果可以的话请测试,多谢 bug report!
撰写答案
登录
注册新账号
关注者
0
被浏览
1.7k
关于作者
heryon
这家伙很懒,什么也没写!
提问
1
回答
2
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【RT-Thread】【ci】【scons】将ci.attachconfig.yml和scons结合使用
2
Rt-thread中OTA下载后,bootloader不搬程序
3
ulog 日志 LOG_HEX 输出时间改为本地日期时间
4
在RT-Thread Studio中构建前执行python命令
5
研究一了一段时间RTT,直接标准版上手太难,想用nano,但又舍不得组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
出出啊
1518
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
5
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部