vs2010 如何设置MFC程序窗口大小
2013-04-22 13:00
344 查看
vs2010 如何设置MFC程序窗口大小
在vs2010中建立的MFC单文档程序,无论是在CMainFrame里的PreCreateWindow函数中对cs进行修改,还是使用SetWindowPos或MoveWindow函数,都无法实现对窗口的修改。 现在的状态是,如果给窗口加上可以调节大小这一style,那么窗口会自动保留上次更改后的大小,如果不加可调,那窗口就会按系统所固定的一个大小进行显示,根本无视我的所有设置,怎么办?BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWndEx::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs cs.cx=500; // cs.cy=500; //这两行完全无视 cs.style = WS_OVERLAPPED | WS_CAPTION
| WS_SYSMENU ; return TRUE; } 尝试使用MoveWindow(50,50,500,500);与SetWindowPos(NULL, 0, 0, 500, 500, SWP_NOZORDER | SWP_NOMOVE); 却都没有任何效果。
程序在注册表里保留了FRAME上次的状态,包括大小位置以及各工具类窗口的布局等. 解决方法有二,其中第一个简单, 第二更稳妥: 1.)在InitInstance(..)调用CleanState(_T("WorkSpace")); 2.)让MainFrame按它的习惯布局完了再调整大小, 在此之前让MainFrame不显示.关键点: WM_CREATE, WM_WINDOWPOSCHANGING 你可能还会发现FRAME有时候会闪一下, 看着不舒服, 用第二个方法同样管用.
1人 | 分享到:
阅读(1995)| 评论(2)| 转载 (1) |举报
gcc -l参数和-L参数
删除MFC单文档默认菜单栏的两种方法
相关文章推荐
- 【整理】MFC单文档程序窗口大小的设置
- VS2010编写MFC程序,调整窗口大小和实现窗口最大化、最小化方法。
- 在MFC的MDI程序中设置子窗口客户区大小
- MFC 设置程序固定窗口大小
- 在MFC中如何设置窗口的初始大小?
- vs2010 设置MFC程序窗口大小无效的问题
- 如何设置Ubuntu或Redhat下终端窗口的默认大小
- 如何在VS2010中运行控制台程序时停留在控制台显示窗口
- 在windows/MFC编程中如何设置窗口半透明
- MFC编程时如何给程序设置热键
- MFC 根据窗口的变化来设置控件的大小
- 如何修改MFC主窗口的大小
- MFC中设置窗口大小位置
- MFC如何在父窗口的指定位置创建子窗口,及border边框属性设置
- VS2010中如何设置IDE窗口背景颜色、MFC框架背景颜色以及对话框背景颜色?
- win7如何设置屏幕保护程序、窗口颜色和外观?
- Windows 8中弹出窗口阻止程序如何设置例外站点
- VS:如何在VS2010中运行控制台程序时停留在控制台显示窗口
- 如何设置窗口大小和位置?
- 如何设置Ubuntu下终端窗口的默认大小