mfc窗口自适应大小怎么实现

avatar
作者
猴君
阅读量:1

要实现MFC窗口自适应大小,可以通过以下步骤来实现:

  1. 在CMainFrame类中添加以下代码,使窗口可以调整大小:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) {     if( !CFrameWnd::PreCreateWindow(cs) )         return FALSE;      cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE                | WS_THICKFRAME | WS_MAXIMIZE | WS_SYSMENU;      return TRUE; } 
  1. 在CMainFrame类中添加以下代码,使窗口可以随着父窗口的大小改变而自适应:
void CMainFrame::OnSize(UINT nType, int cx, int cy) {     CFrameWnd::OnSize(nType, cx, cy);      if (nType != SIZE_MINIMIZED)     {         // 自适应窗口的大小         CRect rect;         GetClientRect(&rect);          // 调整控件的位置和大小         m_myControl.SetWindowPos(NULL, rect.left, rect.top, rect.Width(), rect.Height(), SWP_NOZORDER);     } } 
  1. 在CMainFrame类中添加以下代码,使窗口可以自动布局:
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI) {     CFrameWnd::OnGetMinMaxInfo(lpMMI);      // 设置窗口的最大最小大小     lpMMI->ptMinTrackSize.x = 200;     lpMMI->ptMinTrackSize.y = 200; } 

通过以上步骤,可以实现MFC窗口的自适应大小功能。您可以根据自己的需求对代码进行修改和调整。希望这个答案对您有帮助!

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!