MFC单文档窗口最大化问题

上传人:宝路 文档编号:2737714 上传时间:2017-07-27 格式:DOC 页数:1 大小:26.50KB
返回 下载 相关 举报
MFC单文档窗口最大化问题_第1页
第1页 / 共1页
亲,该文档总共1页,全部预览完了,如果喜欢就下载吧!
资源描述

《MFC单文档窗口最大化问题》由会员分享,可在线阅读,更多相关《MFC单文档窗口最大化问题(1页珍藏版)》请在金锄头文库上搜索。

1、VC+中窗口的最大化问题 看到很多MFC 初学 者都有这样的问题:MFC 单文档程序默认运行时窗口不是最大化,怎么才能使其一开始就最大化显示,其实对于这个问题,很多网友都解释的不清楚,或是不全面! 其实这是在修改 MFC 的窗口界面的外观,修改 MFC 窗口的外观或是风格是要用到类风格(CS _XXXX)和窗口风格(WS_XXXX),学过 MFC 的学者都知道在WinMain函数中,最 开始都定义 了 WNDCLASS 窗口类,该类可以改变窗口的图标,背景,光标等;若要改变窗口的大小,一般在CMainFrame:PreCreateWindow(CREATESTRUCT& cs)中修改构造类cs

2、 的值,可以修改 cs 的 cx,cy 来改变 大小;如果要最大化,就要修改 cs.style|=WS_MAXIMIZE 使主框架类(CMainFra me)最大化,自然视图类(CView)创建时也会跟随主框架类(CMainFrame)而变化,但是此时显示时,仍然是没有变化,因为 MFC 主框架类(CMainFrame )的最后显示要通 过 SW_XXXX 参数来决定,一些朋友就建议在CXXApp:InitInstance()中的 m_pMainWnd-ShowWindow(SW_SHOW);前加入m_pMainWnd-ShowWindow(SW_SHOWMAXIMIZED);或直接改掉,其实

3、最终效果可以实现,但运行开始时会出现先是正常的小窗口,然后马上变成最大化,给人的视觉效果明显不好!那为什么会产生这种效果,是因为在 m_pMainWnd-ShowWindow(SW_SHOWMAXIMIZED);调用之前会先调用 CMainFrame:ActivateFrame(int nCmdShow);此时便会根据nCmdShow(默认为SW_SHOWNORMAL)调用显示窗口一次,SW_SHOWNORMAL 会根据 cs 中的cx,cy,x,y 来显示窗口, 所以 cs.style便失去作用(视图类( CView)已经创建,所以它已经是最大化了),所以再次调用 m_pMainWnd-ShowWindow(SW_SHOWMAXIMIZED);会形成视觉暂留!最终解决方法是1.重载 CMainFrame:ActivateFrame(int nCmdShow)2.令 nCmdShow=SW_SHOWMAXIMIZED 即可3.在 CXXApp:InitInstance()中的 m_pMainWnd-ShowWindow(SW_SHOW);会根据之前的设置而显示窗口来源 :http:/ /2010/10/10/1847047.html

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号