打印
[应用相关]

ucgui无法关闭MESSAGEBOX

[复制链接]
984|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
BH7KQK|  楼主 | 2019-3-17 20:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
点show按钮时,弹出消息框。。
hMsgDlg = MESSAGEBOX_Create("   Computer Win!!!   ", "Failed", GUI_MESSAGEBOX_CF_MODAL);
这是消息框是可以移动的,焦点也是在消息框OK铵钮上的。触摸点OK按钮,也是有按下去的效果的。。
但是,却无法关闭这个消息框并返回到主对话框。。。
怎么回事,小弟刚学,求高人指教。

沙发
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 | 只看该作者
没坐过这方面额试验

使用特权

评论回复
5
木木guainv| | 2019-4-4 15:00 | 只看该作者
BH7KQK 发表于 2019-3-17 21:44
已解决,我尝试用发送物理按键,结果就关了,再细看源码,
发现它只处理了WM_NOTIFICATION_RELEASED,而不是 ...

呵呵呵 长知识了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

46

帖子

2

粉丝