我的一个基于formview的SDI程序,在打开文件和新建文件的时候,窗口会变小.
我朋友说打开文件和新建文件时,doc内的信息会清空,所以窗口就变小了.(不知道我表达的对不对..)void CMYView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style = WS_OVERLAPPED|WS_CAPTION |WS_MAXIMIZEBOX
| WS_SYSMENU |WS_MINIMIZEBOX |WS_MAXIMIZE;
cs.cx=600;
cs.cy=560;
return TRUE;
} 我试了几种方法,
1.在OnSize里面调用SetWindowPlacement(&wp),//WindowPlacement wp;
wp里面为窗口打开文件前的信息,此时出现问题,frame大小恢复以前了,但是里面什么也不显示..空的..我在view里面画的是一个正弦波.
2.在OnSize里面加入
GetParentFrame()->RecalcLayout();
ResizeParentToFit(false);
此时窗口还是变小,比不加这两句的时候窗口稍大一点,不过窗口不能改变大小了...
3.重载CWinApp::OnFileOpen()..不知怎么重载..我在CSDN里面找到了以前一个和我的问题类似的贴子,他说在View里面重载OnFileOpen就可以解决问题..我不会,不知哪位达人可以给个提示?给个思路.谢谢.
4,第四个就留给各位了.包括我的50分..
我朋友说打开文件和新建文件时,doc内的信息会清空,所以窗口就变小了.(不知道我表达的对不对..)void CMYView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style = WS_OVERLAPPED|WS_CAPTION |WS_MAXIMIZEBOX
| WS_SYSMENU |WS_MINIMIZEBOX |WS_MAXIMIZE;
cs.cx=600;
cs.cy=560;
return TRUE;
} 我试了几种方法,
1.在OnSize里面调用SetWindowPlacement(&wp),//WindowPlacement wp;
wp里面为窗口打开文件前的信息,此时出现问题,frame大小恢复以前了,但是里面什么也不显示..空的..我在view里面画的是一个正弦波.
2.在OnSize里面加入
GetParentFrame()->RecalcLayout();
ResizeParentToFit(false);
此时窗口还是变小,比不加这两句的时候窗口稍大一点,不过窗口不能改变大小了...
3.重载CWinApp::OnFileOpen()..不知怎么重载..我在CSDN里面找到了以前一个和我的问题类似的贴子,他说在View里面重载OnFileOpen就可以解决问题..我不会,不知哪位达人可以给个提示?给个思路.谢谢.
4,第四个就留给各位了.包括我的50分..
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货