求解ucgui无法关闭MESSAGEBOX

2019-12-12 18:18发布

点show按钮时,弹出消息框。。
hMsgDlg = MESSAGEBOX_Create("   Computer Win!!!   ", "Failed", GUI_MESSAGEBOX_CF_MODAL);
这是消息框是可以移动的,焦点也是在消息框OK铵钮上的。触摸点OK按钮,也是有按下去的效果的。。
但是,却无法关闭这个消息框并返回到主对话框。。。
怎么回事,小弟刚学,求高人指教。
test.JPG (132.15 KB, 下载次数: 0) 下载附件 2019-3-17 20:25 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
CoolBird007
2019-12-12 20:33
已解决,我尝试用发送物理按键,结果就关了,再细看源码,
发现它只处理了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;

一周热门 更多>