【问题标题】:Modal window from within message handler in WTL/WinapiWTL/Winapi 消息处理程序中的模态窗口
【发布时间】:2011-03-03 15:57:31
【问题描述】:

我有一个小型应用程序,它有一个仅用于后台处理的消息 WTL 窗口。但在某些情况下,我想显示一个应该表现为模态的窗口,即仅消息窗口的消息处理程序在用户单击按钮之前不应返回。

我在想我可以这样做(伪代码):

LRESULT OnMessageWndHandler1(...)
{
     CModalWindow wnd;
     wnd.create(...)

     while(GetMessageLoop){}
}

但是当我尝试时,窗口创建得很好,但是在模态窗口编辑框中按一个键会输出数十个字符,而不是像常规窗口中那样的单个字符。

很可能我做错了什么,但我不知道什么是正确的方法。模态窗口完全是代码生成的。

【问题讨论】:

  • 使用真实代码进行调试已经够难了

标签: c++ winapi wtl


【解决方案1】:

我想显示一个窗口 应该表现得像模态......

在我的Unusual but Useful Dialog-based Classes Designed for Specialization 中,您将找到在任何控件或自制窗口上调用 DoModal() 的方法。

【讨论】:

    【解决方案2】:

    一开始这可能是个坏主意。代码只是常规的消息循环。我决定采用不那么奇特的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-03
      • 2023-03-27
      • 2014-05-29
      • 2010-11-24
      • 2014-11-16
      • 1970-01-01
      • 2010-12-14
      • 2016-06-12
      相关资源
      最近更新 更多