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

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

嘿嘿,实在是很不错的解决方案,简单有效.
目录
相关文章
|
6月前
|
JavaScript
成功解决:el-dialog弹出窗口、数据第一次没有加载、第二次打开才能加载数据。(每次页面刷新后、第一次打开dialog窗口、图片数不加载)
这篇文章分享了解决Vue中`el-dialog`弹出窗口在第一次打开时数据未加载问题的技巧,通过改变组件的`key`属性来强制Vue重新渲染DOM,从而确保数据正确加载。
成功解决:el-dialog弹出窗口、数据第一次没有加载、第二次打开才能加载数据。(每次页面刷新后、第一次打开dialog窗口、图片数不加载)
|
7月前
|
Python
创建一个新的Tkinter窗口实例,并将其赋值给变量`root`。这个窗口是应用程序的主窗口。
创建一个新的Tkinter窗口实例,并将其赋值给变量`root`。这个窗口是应用程序的主窗口。
|
8月前
Qt MainWindow 程序主窗口
Qt MainWindow 程序主窗口
128 0
|
数据可视化
PyQt5-如何设置主窗口居中?退出应用程序如何操作?
PyQt5-如何设置主窗口居中?退出应用程序如何操作?
115 0
|
容器
Qt5——主窗口
Qt5——主窗口
226 0
Qt5——主窗口
|
程序员 C++
4.1 主窗口程序
4.1 主窗口程序
4.1 主窗口程序
|
C#
WinForm关闭主窗体后,仍然有后台进程运行。
WinForm关闭主窗体后,仍然有后台进程运行。
449 0

热门文章

最新文章