c – 在模态对话框处于活动状态时隐藏主MFC窗口?

c – 在模态对话框处于活动状态时隐藏主MFC窗口?,第1张

概述我有一个原生的C MFC应用程序.它有一个基于CWnd的主窗口,用户 *** 作可以创建一个模态对话框.当对话框处于活动状态时,我希望主窗口消失,对话框可见,主窗口的图标保留在任务栏中. 我怎么能做到这一点? 如果我隐藏主窗口(ShowWindow(SW_HIDE)),任务栏图标将消失.如果我最小化主窗口(SW_MINIMIZE),则图标仍然存在.但是,由于对话框由主窗口拥有,因此也会隐藏对话框. 创建对 我有一个原生的C MFC应用程序.它有一个基于CWnd的主窗口,用户 *** 作可以创建一个模态对话框.当对话框处于活动状态时,我希望主窗口消失,对话框可见,主窗口的图标保留在任务栏中.

我怎么能做到这一点?

如果我隐藏主窗口(ShowWindow(SW_HIDE)),任务栏图标将消失.如果我最小化主窗口(SW_MINIMIZE),则图标仍然存在.但是,由于对话框由主窗口拥有,因此也会隐藏对话框.

创建对话框后,单击任务栏图标可使对话框可见.当然,我不想要求用户这样做.

即使我在对话框的OnInit处理程序中插入ShowWindow(SW_SHOW),对话框仍然不可见.但间谍显示其可见位已设置.如果我将SetwindowActive添加到OnInit也是如此.

我对改变UI设计不感兴趣.当对话框处于活动状态时,用户仅与其交互,并且对主窗口中的任何内容都不感兴趣.因此,主窗口应该消失.

在WinXP32下使用Windows VS2005.

解决方法 好吧,在您创建对话框并将其显示为模态的代码块中,只要您将桌面窗口设置为对话框的父窗口,就可以对应用程序的主窗口(显示/隐藏)执行任何 *** 作.通常,CDialog和衍生物的构造函数为父窗口采用NulL的默认参数,其中框架最终取代AfxGetMainWnd().而是将CWnd :: GetDesktopWindow()作为对话框的父级传递,然后您应该可以隐藏主窗口.但是,你仍然可能对任务栏有问题 – 但是我会让别人给出提示,因为我对此一无所知. 总结

以上是内存溢出为你收集整理的c – 在模态对话框处于活动状态时隐藏主MFC窗口?全部内容,希望文章能够帮你解决c – 在模态对话框处于活动状态时隐藏主MFC窗口?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1230126.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存