初始化为最大化方法:
1. 在app的InitInstance中, if(!ProcessShellCommand(cmdInfo))之前, ParseCommandLine(cmdInfo)之后, 加一句m_nCmdShow=SW_MAXIMIZE;
2. 在CMainFrame的PreCreateWindow中; 指定cs.cx=GetSystemMetrics(SM_CXSCREEN); cs.cy=GetSystemMetrics(SM_CYSCREEN);
3. 在app的InitInstance()中把 m_pMainWnd->ShowWindow(SW_SHOW); 改为 m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
如果是普通的单文档,这些方法可以解决,但是我的VIEW 是基于CFormView,用这些方法第一次可以实现运行程序最大化,但是第2,次就不可以。
这到底是什么问题,为什么不能界面窗口初始不能最大化?
现场等待,送妹子。
5 个解决方案
#1
什么叫“但是第2,次就不可以”
#2
就是只有第一次可以,显示是最大,后面的全不是最大化
#3
我现在的问题是,单文档,VIEW基于CFormView,界面初始化不能最大化。可以试试你们
#4
vc2010中CFormView启动最大化窗口问题 2011-12-12 11:12:11| 分类: windows编程 | 标签: |举报 |字号大
中
小 订阅
在2010中,窗口都有记录上次位置、大小的功能,但在使用CFormView中如果启动时最大化,他并不会最大化,而是先最大化,然后又变成我们画的CFormView一样大了。这倒无所谓,关键的毛病在于那个窗口样式不对了,窗口边缘没了。
解决方法如下:
其实这个CFormView中的OnInitUpdate函数问题,子类继承了这个函数,其中写了以下3句话:
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
这3句话目的在于使得自己适应当前框架。这可能是个bug,如果去掉最后2行的代码,发现CFormView显示不正常。其中有一个控件是不能正常显示的。
也是运气的成分,我发现如果将这3行代码都注释掉的话,界面就ok了。任何情况下都显示正
搞定了。。。回去研究下原因。
中
小 订阅
在2010中,窗口都有记录上次位置、大小的功能,但在使用CFormView中如果启动时最大化,他并不会最大化,而是先最大化,然后又变成我们画的CFormView一样大了。这倒无所谓,关键的毛病在于那个窗口样式不对了,窗口边缘没了。
解决方法如下:
其实这个CFormView中的OnInitUpdate函数问题,子类继承了这个函数,其中写了以下3句话:
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
这3句话目的在于使得自己适应当前框架。这可能是个bug,如果去掉最后2行的代码,发现CFormView显示不正常。其中有一个控件是不能正常显示的。
也是运气的成分,我发现如果将这3行代码都注释掉的话,界面就ok了。任何情况下都显示正
搞定了。。。回去研究下原因。
#5
参照你的方法,我的最大化正常了,但是界面上的控件不正常了,必须拉一下才能完全显示。
请问您找出是什么原因吗?
#1
什么叫“但是第2,次就不可以”
#2
就是只有第一次可以,显示是最大,后面的全不是最大化
#3
我现在的问题是,单文档,VIEW基于CFormView,界面初始化不能最大化。可以试试你们
#4
vc2010中CFormView启动最大化窗口问题 2011-12-12 11:12:11| 分类: windows编程 | 标签: |举报 |字号大
中
小 订阅
在2010中,窗口都有记录上次位置、大小的功能,但在使用CFormView中如果启动时最大化,他并不会最大化,而是先最大化,然后又变成我们画的CFormView一样大了。这倒无所谓,关键的毛病在于那个窗口样式不对了,窗口边缘没了。
解决方法如下:
其实这个CFormView中的OnInitUpdate函数问题,子类继承了这个函数,其中写了以下3句话:
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
这3句话目的在于使得自己适应当前框架。这可能是个bug,如果去掉最后2行的代码,发现CFormView显示不正常。其中有一个控件是不能正常显示的。
也是运气的成分,我发现如果将这3行代码都注释掉的话,界面就ok了。任何情况下都显示正
搞定了。。。回去研究下原因。
中
小 订阅
在2010中,窗口都有记录上次位置、大小的功能,但在使用CFormView中如果启动时最大化,他并不会最大化,而是先最大化,然后又变成我们画的CFormView一样大了。这倒无所谓,关键的毛病在于那个窗口样式不对了,窗口边缘没了。
解决方法如下:
其实这个CFormView中的OnInitUpdate函数问题,子类继承了这个函数,其中写了以下3句话:
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
这3句话目的在于使得自己适应当前框架。这可能是个bug,如果去掉最后2行的代码,发现CFormView显示不正常。其中有一个控件是不能正常显示的。
也是运气的成分,我发现如果将这3行代码都注释掉的话,界面就ok了。任何情况下都显示正
搞定了。。。回去研究下原因。
#5
参照你的方法,我的最大化正常了,但是界面上的控件不正常了,必须拉一下才能完全显示。
请问您找出是什么原因吗?