SDI 程序的,view 视图的大小怎么固定?也就是只有view视图的大小,去掉sdi的菜单栏和状态的区域,只有SDI视图区域的大小。。上图说明。请大家详细解答下。。谢谢了!!

解决方案 »

  1.   

    创建窗口的时候设置啊,在CMainFrame类中的PreCreateWindow函数中对参数CS设置;
      

  2.   

    你所指的客户区是View的大小吧,单文档的貌似不能设置,多文档能设置,你可以根据整个窗体的大小来设置View的,因为工具栏,窗体栏,状态栏大小都是固定的。
      

  3.   


    void CXXXXDoc::ChangeViewSize(int nWidth,int nHeight) 
    {
    CMainFrame* pMf=(CMainFrame*)AfxGetMainWnd();
    CRect rec,recClient;
    pMf->GetWindowRect(&rec);
    POSITION pos=GetFirstViewPosition();
    CView* pView=GetNextView(pos);
    pView->GetClientRect(&recClient);

    rec.right=rec.left+rec.Width()-recClient.Width()+nWidth;
    rec.bottom=rec.top+rec.Height()-recClient.Height()+nHeight;
    pMf->MoveWindow(&rec);
    }