我有一个小应用程序,它只有一个消息WTL窗口,它进行后台处理。但在某些情况下,我想显示一个应该作为模态的窗口,也就是说,在用户单击按钮之前,不应该返回仅消息窗口的消息处理程序。
我在想我可以这样做(伪代码):
LRESULT OnMessageWndHandler1(...)
{
CModalWindow wnd;
wnd.create(...)
while(GetMessageLoop){}
}
但是当我尝试时,窗口创建得很好,但是按一个键会在模态窗口编辑框中输出几十个字符,而不是像普通窗口那样输出一个字符。
我很可能做错了什么,但我不知道什么是正确的方法。模态窗口完全是代码生成的。
答案 0 :(得分:2)
我想展示一个窗口 应该表现为模态......
在我的Unusual but Useful Dialog-based Classes Designed for Specialization中,您将找到在任何控件或自制窗口上调用 DoModal()的方法。
答案 1 :(得分:0)
首先,这可能是一个坏主意。代码只是常规的消息循环。我决定采用不那么奇特的解决方案。