【问题标题】:Show MessageBox that locks all windows of an application显示锁定应用程序所有窗口的 MessageBox
【发布时间】:2011-12-02 16:40:01
【问题描述】:

有没有一种简单的方法可以在 Win32 (MFC) 应用程序中显示消息框

  • 锁定当前应用程序的所有窗口并
  • 哪个位于所有应用程序窗口的前面?

即我正在寻找“流程模式”消息框。

标准 Win32 MessageBox() 函数仅锁定作为第一个参数传递的窗口(及其父窗口)。如果应用程序有多个顶级窗口,MessageBox() 不会锁定所有顶级窗口。

【问题讨论】:

  • 嗯,奇怪。您是在另一个线程上创建窗口吗?
  • 所有窗口都是由同一个线程,主线程创建的。

标签: c++ windows winapi mfc


【解决方案1】:

您可以通过在显示消息框时禁用每个窗口并在之后启用它们来锁定所有窗口。这就是标准模态对话框所做的一切。 至于置顶,SetWindowPos() 允许设置在所有窗口或特定窗口之上,不限于整个进程。

【讨论】:

    猜你喜欢
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    相关资源
    最近更新 更多