我用vc向导做了一个基于单文档的程序,视图用的是formview,一路“下一步”,默认生成了一个框架,但我想改变框架的大小,却不行。
我是这么做的:BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.cx=690;
cs.cy=550;
cs.x=150;
cs.y=80; if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
}但好象运行后的界面还是原来的大小,不管cx设置成多少,都是原来那么大。但我发现,用上面的代码,如果不是基于CFormView,而是基于CView的,就可以用上面的方法改变初始大小。为什么基于form的就不能改变大小呢?我也试过movewindow的方法,好象也不行。。
谢谢!!

解决方案 »

  1.   

    if( !CFrameWnd::PreCreateWindow(cs) )
      return FALSE; cs.cx=690;
    cs.cy=550;
    cs.x=150;
    cs.y=80;return TRUE;
      

  2.   

    lixiaosan(小三),你的代码和我的没什么不同啊,只是加了一句return true,
    而且,我也试过你的代码,没有效果,不行!注意,我是以CFormView做为视图的(从向导选择),如果是CView,就可以。
    有人遇到过这样的问题吗?
      

  3.   

    到FORMVIEW.CPP中void CChangesizeView::OnInitialUpdate()
    {
    CFormView::OnInitialUpdate();
    GetParentFrame()->RecalcLayout();
    // ResizeParentToFit();}把ResizeParentToFit();注释掉.