【发布时间】:2012-04-16 11:36:28
【问题描述】:
我有一个本机 C++ MFC 应用程序。它有一个基于 CWnd 的主窗口,用户操作可以创建一个模态对话框。当对话框处于活动状态时,我希望主窗口消失,对话框可见,并且主窗口的图标保留在任务栏中。
我怎样才能做到这一点?
如果我隐藏主窗口 (ShowWindow(SW_HIDE)),任务栏图标就会消失。如果我最小化主窗口 (SW_MINIMIZE),图标仍然存在。但是,由于对话框归主窗口所有,这也会隐藏对话框。
创建对话框后,单击任务栏图标使对话框可见。当然,我不想要求用户这样做。
即使我在对话框的 OnInit 处理程序中插入 ShowWindow(SW_SHOW),对话框仍然不可见。不过,Spy++ 显示其可见位已设置。如果我将 SetWindowActive 添加到 OnInit,也是如此。
我对更改 UI 设计不感兴趣。当对话框处于活动状态时,用户只与它交互,并且对主窗口中的任何内容都不感兴趣。因此,主窗口应该会消失。
在WinXP32下使用Windows VS2005。
【问题讨论】:
标签: c++ mfc modal-dialog