要實現MFC窗口自適應大小,可以通過以下步驟來實現:
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;
}
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);
}
}
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
CFrameWnd::OnGetMinMaxInfo(lpMMI);
// 設置窗口的最大最小大小
lpMMI->ptMinTrackSize.x = 200;
lpMMI->ptMinTrackSize.y = 200;
}
通過以上步驟,可以實現MFC窗口的自適應大小功能。您可以根據自己的需求對代碼進行修改和調整。希望這個答案對您有幫助!