我创建了一个SDI程序,其中客户区显示的是一个Dialog,上面有一些控件。怎样实现改变框架大小后,对话框和控件都随着Frame改变而改变大小?

解决方案 »

  1.   

    Onsize()
    里用moveWindow()
      

  2.   

    代码如下
    void CMainFrame::OnSize(UINT nType, int cx, int cy) 
    {
    CFrameWnd::OnSize(nType, cx, cy); CRect rect;
    GetWindowRect( &rect ); if (bFirst)
    {
    bFirst = FALSE;
    }
        else
    {
    m_dlg.MoveWindow(&rect,TRUE);
            
    }

    }int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
    return -1;

             m_dlg.Create(IDD_DIALOG1,this);
    m_dlg.ShowWindow(SW_SHOW); CenterWindow(); return 0;
    }m_dlg就是在Frame中显示的dialog,现在的问题是程序运行后对话框显示不出来,点击最大化按钮后可以看到对话框了,但是左上角仍有一块原来窗口大小空白区域。不知道是什么问题?