MFC 单文档框架最大化显示
来源:互联网 发布:java ant 压缩文件 编辑:程序博客网 时间:2024/05/22 06:20
其实这是在修改MFC的窗口界面的外观,修改MFC窗口的外观或是风格是要用到类风格(CS_XXXX)和窗口风格(WS_XXXX),学过MFC的学者都知道在WinMain函数中,最开始都定义了WNDCLASS窗口类,该类可以改变窗口的图标,背景,光标等;
若要改变窗口的大小,一般在CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中修改构造类cs的值,可以修改cs的cx,cy来改变大小;如果要最大化,就要修改cs.style|=WS_MAXIMIZE 使主框架类(CMainFrame)最大化,自然视图类(CView)创建时也会跟随主框架类(CMainFrame)而变化,但是此时显示时,仍然是没有变化,因为MFC主框架类(CMainFrame)的最后显示要通过SW_XXXX参数来决定,一些朋友就建议在CXXApp::InitInstance()中的m_pMainWnd->ShowWindow(SW_SHOW);前加入m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);或直接改掉,其实最终效果可以实现,但运行开始时会出现先是正常的小窗口,然后马上变成最大化,给人的视觉效果明显不好!
那为什么会产生这种效果,是因为在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);会根据之前的设置而显示窗口
- MFC 单文档框架最大化显示
- MFC 单文档窗口最大化显示
- MFC单文档窗口最大化显示
- MFC单文档框架理解
- MFC 单文档 显示图片
- MFC单文档程序启动时窗口最大化
- MFC单文档工程窗口在启动时默认最大化
- 如何禁用MFC单文档主窗口的最大化按钮?
- MFC中使文档对话框最大化显示的方法
- vc单文档主界面初始最大化显示
- MFC最大化显示任务栏
- 单文档初始最大化显示&&鼠标双击时窗口最大化失效
- OpenGL创建MFC单文档框架
- MFC中单文档程序框架
- MFC--单文档程序(框架)
- MFC中单文档程序框架
- MFC中单文档程序框架
- PCLlab(1)基于MFC单文档框架的pcd文件显示
- java基础概述——java基础
- 安全记事本,方便又安全
- 成都消协开展“新消法、新权益、新责任”活动
- java 猜拳游戏代码
- NDT资料网站,很赞
- MFC 单文档框架最大化显示
- 重读黑客与画家
- MyEclipse下反编译插件安装使用方法
- 详解Android首选项框架的使用
- Git远程操作详解
- 敦煌网数据挖掘实习生应聘经历
- 笑死70if细绳自偷崭
- 泸州去哪个醫院治疗甲状腺瘤最轻松
- 让自己wi呢?力计自偷壕