我的视图文档中有多个对话框,我想实现在调用另一对话框视图后,外框架窗口刚好能装上对话框,即,不要出现滚动条。
我想通过,如下方式来实现:
CMyDlg *dlg = new CMyDlg;
……
CRect rc;
dlg->GetWindowRect(rc);
AfxGetMainWnd()->SetWindowPos(0,rc.left,rc.top,rc.Width(),rc.Height(),SWP_NOMOVE);但在CFormView对像中,我不会获取其对话框资源的大小(是要动态获取的,不是你计算出来多大,直接写上)。所以无法用上法做到。其实上面的要求,我觉就同程序在启动后,其外框刚好装上了默认对话框视图一样。我跟踪了半天,没整出来。望大伙帮帮忙!!!
若能回答出这个的实现过程,也给分。
不好意思,没分了,就这么多了!望指教!!!谢谢!!!

解决方案 »

  1.   

    你最好是根据框架视图区的大小来调整对话框的大小
    GetClientRect();
      

  2.   

    GetClientRect();
      

  3.   

    晕,上面说的对getclientrect(),获取你要的窗口大小,如何调整大小就是你自己的事了
      

  4.   

    CRect rectClient;
    GetClientRect(&rectClient);
    然后调用在OnInitialUpdate中:
    SetScrollSize(MM_TEXT, CSize(rectClient.Width(), rectClient.Height())); 
    在拖动时有可能会出现滚动条,若不想出现滚动条可以直接在OnInitialUpdate中:
    SetScrollSize(MM_TEXT, CSize(0, 0));