MFC 中是否有等效的 OnModal 消息?
Is there an equivalent of an OnModal message in MFC?
我的 MFC 应用程序有多个顶级(父级到桌面)windows,其中任何一个都可以承载可以启动模式对话框的外部应用程序。有没有办法让另一个顶级 windows 在其他任何一个成为模态时收到通知?
我的具体问题是我的 windows 之一正在托管嵌入式 PDF 查看器,当用户单击打印时,只有 window 托管查看器被锁定,其他的则没有。
当显示模式对话框时,为 parent 调用 EnableWindow(FALSE)。它现在已停用,不会接受任何鼠标输入。它也不会接收键盘焦点。
调用 EnableWindow(FALSE) 时 WM_ENABLE 将 wParam==FALSE 发送到 window。
当您的 parent 收到此消息时,您也可以为所有其他 windows 调用 EnableWindow(FALSE)。递归在这里可能是个问题,但您可以使用私人 window 消息或标志来防止这种情况。
在模式对话框关闭之前再次调用 EnableWndow(TRUE) 并再次发送 WM_ENABLE wParam==TRUE。
我的 MFC 应用程序有多个顶级(父级到桌面)windows,其中任何一个都可以承载可以启动模式对话框的外部应用程序。有没有办法让另一个顶级 windows 在其他任何一个成为模态时收到通知?
我的具体问题是我的 windows 之一正在托管嵌入式 PDF 查看器,当用户单击打印时,只有 window 托管查看器被锁定,其他的则没有。
当显示模式对话框时,为 parent 调用 EnableWindow(FALSE)。它现在已停用,不会接受任何鼠标输入。它也不会接收键盘焦点。
调用 EnableWindow(FALSE) 时 WM_ENABLE 将 wParam==FALSE 发送到 window。
当您的 parent 收到此消息时,您也可以为所有其他 windows 调用 EnableWindow(FALSE)。递归在这里可能是个问题,但您可以使用私人 window 消息或标志来防止这种情况。
在模式对话框关闭之前再次调用 EnableWndow(TRUE) 并再次发送 WM_ENABLE wParam==TRUE。