硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3473|回复: 5
收起左侧

[emWin] 使用用外部按键问题

[复制链接]

36

主题

142

回帖

250

积分

高级会员

积分
250
发表于 2019-8-28 11:11:07 | 显示全部楼层 |阅读模式
现在我需要在一个页面上弹窗,通过按下当前界面按钮弹窗,弹窗如下 case GUI_ID_BUTTON3:                    _hMessageBox = GUI_CreateDialogBox(_aDialogCreateMessageBoxSaveData, GUI_COUNTOF(_aDialogCreateMessageBoxSaveData),
                        _cbMessageBox, hWin, 0, 0);
                    /*阻塞模式执行*/
                    GUI_ExecCreatedDialog(_hMessageBox);
当我不使用外部按键时(用触摸),弹窗没有问题 一切正常可以点击是按钮和否按钮,但是当我通过外部按键利用GUI_KEY_ENTER进入弹窗时,这时也可以产生弹窗界面,但是之后外部按键不可以控制是和否按钮,这是什么原因?如果在初始化后直接调用弹窗 ,用外部按键也是可以的控制的



回复

使用道具 举报

36

主题

142

回帖

250

积分

高级会员

积分
250
 楼主| 发表于 2019-8-28 11:23:31 | 显示全部楼层
发现奇怪问题聚焦到BUTTON3按键上, 如果用触摸点击进入弹窗一切正常没有问题,如果用外面按键 GUI_KEY_ENTERA点击进入创建弹窗后就不正常,像是堆栈 溢出了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-8-28 11:27:36 | 显示全部楼层
这句话删掉:

GUI_ExecCreatedDialog(_hMessageBox);

不可以回调里面嵌套这种语句,设置个模态就行
回复

使用道具 举报

36

主题

142

回帖

250

积分

高级会员

积分
250
 楼主| 发表于 2019-8-28 15:48:28 | 显示全部楼层
eric2013 发表于 2019-8-28 11:27
这句话删掉:

GUI_ExecCreatedDialog(_hMessageBox);

   _hMessageBox = GUI_CreateDialogBox(_aDialogCreateMessageBoxSaveData, GUI_COUNTOF(_aDialogCreateMessageBoxSaveData),
                        _cbMessageBox, hWin, 0, 0);
WM_MakeModal(_hMessageBox);
硬汉 你说的是这个意思吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-8-28 15:50:58 | 显示全部楼层
老虎的菜 发表于 2019-8-28 15:48
_hMessageBox = GUI_CreateDialogBox(_aDialogCreateMessageBoxSaveData, GUI_COUNTOF(_aDialogCreate ...

回复

使用道具 举报

36

主题

142

回帖

250

积分

高级会员

积分
250
 楼主| 发表于 2019-8-29 11:17:49 | 显示全部楼层

case GUI_ID_BUTTON3:
                    /*弹窗提示保存数据*/
                    _hMessageBox = GUI_CreateDialogBox(_aDialogCreateMessageBoxSaveData, GUI_COUNTOF(_aDialogCreateMessageBoxSaveData),
                        _cbMessageBox, hWin, 0, 0);
                    WM_MakeModal(_hMessageBox);
               
                    /*删除当前界面*/
                    GUI_EndDialog(_hpage1t, 0);
                break;
弹窗之前是阻塞执行,需要我按弹窗按钮才会删除页面,我现在改成模态 ,不需要按弹窗按钮直接就删除当前页面了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-18 05:02 , Processed in 0.289653 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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