gpt4 book ai didi

mfc - 在 MFC 中重新打开模态对话框

转载 作者:行者123 更新时间:2023-12-04 21:00:01 29 4
gpt4 key购买 nike

我需要打开一个从同一个类实例化的对话框两次。当我尝试这个时

CdelmeDlg dlg;
dlg.DoModal();
dlg.DoModal();

第二个调用只打开对话框一瞬间,然后关闭。我敢打赌消息队列中有一条剩余的消息,所以我在调用之间添加了这个
MSG msgCur;
while (::PeekMessage(&msgCur, NULL, NULL, NULL, PM_REMOVE))
;

这解决了问题,但感觉这是一种错误的做法。有没有办法正确处理剩余的消息?

最佳答案

不要调用 EndDialog( IDOK );

要处理按下的确定或取消按钮,只需继承 OnOk 或 OnCancel ......否则 EndDialog 将被调用两次,你会得到你遇到的问题!

关于mfc - 在 MFC 中重新打开模态对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1846263/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com