MFC窗口启动最大化
来源:互联网 发布:淘宝海景房是什么意思 编辑:程序博客网 时间:2024/06/10 00:16
常用MFC进行编程的人都知道单文档的编程,在编程过程中发现欲使程序在启动时就能最大化显示,这里的处理方法有多种,但是结果却不一样。
首先大家最常用的就是在View类的PreCreateWindow函数中,修改窗口类型cs的值,也就是或上一个“最大化”即:
cs.style |= WS_MAXIMIZE;
其次用得比较多的是:在app文件的InitInstance函数中修改ShowWindow函数的实参,即改
m_pMainWnd->ShowWindow(SW_SHOW);
为
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
这两种方法都可以达到最大化的目的,但是你会发现,当程序运行时,窗口有一个从普通窗口到最大化窗口的过程,看起来很丑,这是窗口的重画造成的。
那么解决这个问题的办法就是:在窗口重画前,让第一个窗口不要显示出来,直接显示第二个窗口,也就是最大化窗口,经过跟踪程序运行,发现在app类的InitInstance函数中有如下代码(AppWizard自动生成):
// Parse command line for standard shell commands, DDE, file open CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo);// Dispatch commands specified on the command line if (!ProcessShellCommand(cmdInfo)) return FALSE;// The one and only window has been initialized, so show and update it. m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow();
通常我们改的就是上面的倒数第二行代码,那么也就是在这行代码之前程序已经产生了一个窗口。于是在这个窗口产生前,把它“消灭”掉岂不正好。
继续跟踪,发现也就是上面提到的代码中的ProcessShellCommand(cmdInfo)这一句代码在搞鬼,所以可做如下修改:
1.在 ProcessShellCommand(cmdInfo)之前,加一句
m_nCmdShow = SW_SHOWMAXIMIZED;
2.把m_pMainWnd->ShowWindow(SW_SHOW);修改为
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
这样窗口一下子就最大化,不会再有原来的问题了!
- MFC窗口启动最大化
- MFC窗口启动最大化
- MFC窗口启动最大化
- 如何让MFC窗口启动时最大化
- 如何让MFC窗口启动时最大化
- MFC窗口最大化
- MFC禁止窗口最大化
- VC++MFC 窗口最大化
- MFC单文档程序启动时窗口最大化
- MFC单文档工程窗口在启动时默认最大化
- mfc应用窗口最大化显示
- 关于MFC中窗口最大化
- MFC学习 最大化对话框窗口
- MFC窗口最大化的问题
- 如何使窗口启动最大化?
- 如何使窗口启动最大化?
- wxWidgets主窗口最大化启动
- MFC让窗口一开始就最大化探讨
- Sencha Touch 2.0 MVC in 5 minutes or less
- Java享元模式Flyweight
- js 弹出子窗口后,设定为最顶层焦点,关闭后传参给父窗口(兼容其它浏览器)
- delphi中的提前声明
- n个元素的数组中找出前K个最大数最有效算法O(nlg(k))
- MFC窗口启动最大化
- Linux FM stuff
- HTML A标签调用javascript方法的几种方法
- 京东今天还在用 .NET 架构的原因是什么?
- 虚方法与动态方法
- serialPort1_DataReceived 执行二次 messagebox
- Using Code Analysis with Visual Studio 2010 to Improve Code Quality
- Ehcache cache 无法进行缓存处理
- 【Java基础】——之Final