基于Dialog程序,启动时不显示主窗口,只显示子窗口的实现

简介: 实现主窗口隐藏的是SetWindowPos(),从代码很容易理解出来,就是把主窗口的坐标设置为(0,0,0,0),也就是说把主窗口设置为一个点,并且点处于原点处.
在项目中有如下的一个需求:
软件在网络启动状态下显示主窗口,而在单机状态下只显示其子对话框(我的是无模式的).
在网上找了一天,各种办法都似乎不太好,
不过晚上终于找到了一个不错的解决办法.
使得我很好的解决了这个问题.
None.gif     if (theApp.m_bUnConnect)
ExpandedBlockStart.gif     {
InBlock.gif        CRecordDlg* dlg;
InBlock.gif        CWnd* m_pCWnd = this;
InBlock.gif        dlg = new CRecordDlg(m_pCWnd);
InBlock.gif        dlg->Create(IDD_DLG_RECORD,m_pCWnd);
InBlock.gif        dlg->ShowWindow(SW_SHOW); 
InBlock.gif        this->SetWindowPos(&wndTop,0,0,0,0,NULL);
ExpandedBlockEnd.gif    }
  //  if ()
None.gif
     else
ExpandedBlockStart.gif     {
InBlock.gif       ShowWindow(SW_MAXIMIZE);
ExpandedBlockEnd.gif    }
以上为我实现代码.
实现主窗口隐藏的是SetWindowPos(),从代码很容易理解出来,就是把主窗口的坐标设置为(0,0,0,0),也就是说把主窗口设置为一个点,并且点处于原点处.
其实是一种伪隐藏,可是它还是实现了隐藏,并且实现的效果相当不错,没有闪烁,也没有副作用(至少现在没有发现有).
不过要注意的是,无模式对话框关闭时候除了要DestroyWindow(),还需要PostQuitMessage(0);将主窗口给关闭掉,否则程序进程实际还在.

嘿嘿,实在是很不错的解决方案,简单有效.
目录
相关文章
|
19天前
Qt MainWindow 程序主窗口
Qt MainWindow 程序主窗口
|
2月前
|
计算机视觉
创建窗口
【5月更文挑战第8天】创建窗口。
20 1
|
8月前
|
数据可视化
PyQt5-如何设置主窗口居中?退出应用程序如何操作?
PyQt5-如何设置主窗口居中?退出应用程序如何操作?
58 0
|
9月前
45EasyUI 窗口- 创建简单窗口
45EasyUI 窗口- 创建简单窗口
29 0
对话框完全显示后,马上执行一个按钮的事件
对话框完全显示后,马上执行一个按钮的事件
|
IDE 编译器 开发工具
问题:窗体在运行时显示,在解决方案管理器中不显示
小引: 虽然我知道实现《机房收费管理系统》会遇见各种问题,但是碰到这么狗血的问题,我真是大姑娘上花轿——头一回!
|
容器
Qt5——主窗口
Qt5——主窗口
175 0
Qt5——主窗口
|
程序员 C++
在C#中设置窗体最前,并且如果不关掉这个窗体,就不能操作其余的控件
窗口名 新窗口名 = new 窗口名();新窗口名.ShowDialog();
444 0
|
C# Windows
C# 程序关闭托盘图标不会自动消失
原文:C# 程序关闭托盘图标不会自动消失 c#程序关闭托盘图标不会自动消失,进程的托盘图标却不能随着进程的结束而自动消失  必须将鼠标移到图标上面时才能消失?  请问如何才能做到图标随着进程的结束而自动消失呢(外部强行结束,如在任务管理器将其结束), windows系统好多程序都会这样。
1227 0