[应用相关] ucgui无法关闭MESSAGEBOX

[复制链接]
 楼主| BH7KQK 发表于 2019-3-17 20:12 | 显示全部楼层 |阅读模式
点show按钮时,弹出消息框。。
hMsgDlg = MESSAGEBOX_Create("   Computer Win!!!   ", "Failed", GUI_MESSAGEBOX_CF_MODAL);
这是消息框是可以移动的,焦点也是在消息框OK铵钮上的。触摸点OK按钮,也是有按下去的效果的。。
但是,却无法关闭这个消息框并返回到主对话框。。。
怎么回事,小弟刚学,求高人指教。
test.JPG
 楼主| BH7KQK 发表于 2019-3-17 20:13 | 显示全部楼层
补充,祼机,STM32F407
 楼主| BH7KQK 发表于 2019-3-17 21:44 | 显示全部楼层
已解决,我尝试用发送物理按键,结果就关了,再细看源码,
发现它只处理了WM_NOTIFICATION_RELEASED,而不是点击,也许是我的触摸屏点击飘得厉害。。
在MESSAGEBOX.c增加一句就解决了。

    case WM_NOTIFY_PARENT:
      {
        int NCode = pMsg->Data.v;             /* Get notification code */
        int Id    = WM_GetId(pMsg->hWinSrc);  /* Get control ID */
        switch (NCode) {
          case WM_NOTIFICATION_RELEASED:      /* React only if released */
          case WM_NOTIFICATION_CLICKED: <-----------增加这一句
            if (Id == GUI_ID_OK) {
              GUI_EndDialog(hWin, 0);         /* End dialog with return value 0 if OK */
            }
            break;
wowu 发表于 2019-4-4 14:41 | 显示全部楼层
没坐过这方面额试验
木木guainv 发表于 2019-4-4 15:00 | 显示全部楼层
BH7KQK 发表于 2019-3-17 21:44
已解决,我尝试用发送物理按键,结果就关了,再细看源码,
发现它只处理了WM_NOTIFICATION_RELEASED,而不是 ...

呵呵呵 长知识了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

46

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

13

主题

46

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部