通常,我們在將視窗進行最大化時會出現視窗中的控制項自適應問題,如何讓視窗中的所有控制項跟隨視窗做自適應變化,提供如下操作方法供參考
第一步、在對話方塊類中(.**件)定義如下變數和函式
void resize();
point old;
afx_msg void onsize(uint ntype, int cx, int cy);
1、首先在oninitdialog函式中獲取視窗位置座標
bool ccalctestdlg::oninitdialog()
} // 設定此對話方塊的圖示。 當應用程式主視窗不是對話方塊時,框架將自動
// 執行此操作
seticon(m_hicon, true); // 設定大圖示
seticon(m_hicon, false); // 設定小圖示
/*showwindow(sw_maximize);
showwindow(sw_minimize);*/
// todo: 在此新增額外的初始化**
crect rect;
getclientrect(&rect);
old.x = rect.right - rect.left;
old.y = rect.bottom - rect.top;
return true; // 除非將焦點設定到控制項,否則返回 true
}
2、新增 wm_size訊息,在視窗變化onsize函式中進行位置重置
void ccalctestdlg::onsize(uint ntype, int cx, int cy)
}
3、實現重新整理控制項函式
void ccalctestdlg::resize()
old = newp;
}
MFC一一視窗控制項隨視窗大小進行自適應
通常,我們在將視窗進行最大化時會出現視窗中的控制項自適應問題,如何讓視窗中的所有控制項跟隨視窗做自適應變化,提供如下操作方法供參考 1 首先在oninitdialog函式中獲取視窗位置座標 bool cdialogqual oninitdialog 2 在視窗變化onsize函式中進行位置重置 vo...
MFC控制項隨視窗大小變化原理及實現
本文主要針對mfc的dialog,實現控制項隨視窗大小變化。原理 首先獲取dialog的初始大小,當視窗傳送變動時,呼叫onsize事件和方法,計算縮放比例,然後對介面中的所有控制項進行縮放和布局。實現 建立乙個cmfcdemodlg的dialog對話方塊 cmfcdemodlg 對話方塊 clas...
MFC小筆記 控制項隨視窗變化
當視窗大小變化時,如最大化 最小化時,控制項位置和大小並沒有變化,本文實現此功能。主介面為對話方塊,有最小化 最大化 關閉等功能。當視窗變化時,響應 onsize 函式,並計算各控制項位置,按比例縮放。在對話方塊類嚮導中新增 wm size 訊息。其函式定義如下 afx msg void onsiz...