VS2010修改Mainframe的大小 vs2010修改快捷键

在vs2010中建立的MFC单文档程序,无论是在CMainFrame里的PreCreateWindow函数中对cs进行修改,还是使用SetWindowPos或MoveWindow函数,都无法实现对窗口的修改。
现在的状态是,如果给窗口加上可以调节大小这一style,那么窗口会自动保留上次更改后的大小,如果不加可调,那窗口就会按系统所固定的一个大小进行显示,根本无视我的所有设置,怎么办?问:BOOLCMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
VS2010修改Mainframe的大小 vs2010修改快捷键
if(!CFrameWnd::PreCreateWindow(cs))
{
returnFALSE;
}
cs.style&= ~WS_OVERLAPPED
cs.cy =300;
cs.cx =100;
returnTRUE;
}

先上代码
在vs2010中,为什么运行时不会按要求改变窗口大小呢?而且运行的程序我手动拖窗口右下角改变大小后,再次启动时就是改变后的大小,为什么不是随机大小,或按我的CREATESTRUCT变量cs.cx,cs.cy改变大小呢?

解决方法:一.因为VS2010会将一些信息写入注册表,这个和之前VS2005,VS2008(SP1除外)不太一样,默认的SDI和MDI是带的BCG的一些东西。
你要修改窗口大小,可以直接在App类的InitInstance中ShowWindow();UpdateWindow()之前修改窗口大小,例如m_pMainWnd->MoveWindow(CRect(100, 100, 600, 400),FALSE);
————另外,m_pMainWnd->ShowWindow(SW_HIDE)可以控制窗口的显示与否。
二。MFC的应用程序向导在VC6.0中和VS2010中有很多区别。VS2010的中的MFC的应用程序向导增加了不少新的选项。默认情况下建立MFC应用程序,在VS2010中确实会出现楼主所说的现象。不过这个不和VC6.0的冲突,因为VS2010中的应用程序向导的默认选项和VC6.0的应用程序向导的默认选项不同,楼主调整选项为和VC6.0一样即可。在VS2010的MFC的应用程序向导的第二步选择MFC标准,第6步选择使用经典菜单。其效果即和VC6.0产生的效果一样。


程序在注册表里保留了FRAME上次的状态,包括大小位置以及各工具类窗口的布局等.
解决方法有二,其中第一个简单, 第二更稳妥:
1.)在InitInstance(..)调用CleanState(_T("WorkSpace"));
2.)让MainFrame按它的习惯布局完了再调整大小, 在此之前让MainFrame不显示.关键点: WM_CREATE,WM_WINDOWPOSCHANGING
你可能还会发现FRAME有时候会闪一下, 看着不舒服,用第二个方法同样管用.

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/264585.html

更多阅读

windows徽标键的快捷键使用技巧大全 windows徽标键在哪

? ? 大家应该知道任何操作系统、软件、游戏,只有熟练使用windows快捷键,才能最大效率的工作娱乐。很难想象一个不会用键盘上快捷键的魔兽争霸玩家。对于键盘控而言,恨不得所有操作都能通过键盘快捷键来完成,当然这只是理想状态,但Windows

qq隐藏了让他显示出来的快捷键 右下角qq图标不见了

qq隐藏了让他显示出来的快捷键——简介qq隐藏了之后很多人就找不到显示出来的方法了,尤其是登录了几个QQ的时候总是按CTRL+ALT+Z也没用,下面教大家如何设置快捷键来快速显示已经隐藏的QQ。qq隐藏了让他显示出来的快捷键—

windows 删除的快捷键是什么,非delete ps删除快捷键是什么

windows 删除的快捷键是什么,非delete——简介使用windows这么多年了,大家也都记住了很多的快捷键,比如常用的复制ctrl+c,粘贴用的ctrl+v等。通常情况下大家认为“删除”的快捷键是键盘上的delete键,但是,大家没发现这样使用很不方便么?要

怎么样在word文档中调整文字的大小 word文档调整行距

怎么样在word文档中调整文字的大小——简介在word文档中设置字体的大小是再普通、再简单不过的事了,我们常常根据不同要求来设置它们,文字的大小可以随意调整,可以调大也可以调小,具体方法如下:怎么样在word文档中调整文字的大小——方

coreldraw快捷键大全 coreldraw的快捷键

? ??coreldraw快捷键大全:? ??显示导航窗口(Navigatorwindow)【N】  保存当前的图形【Ctrl】+【S】  打开编辑文本对话框【Ctrl】+【Shift】+【T】  擦除图形的一部分或将一个对象分为两个封闭路径【X】  撤消上一次的

声明:《VS2010修改Mainframe的大小 vs2010修改快捷键》为网友夏末夜微涼分享!如侵犯到您的合法权益请联系我们删除