CMFCDynamicLayout 類別
指定使用者調整視窗大小時,控制項在視窗中如何移動和調整大小。
語法
class CMFCDynamicLayout : public CObject
成員
公用建構函式
名稱 | 描述 |
---|---|
CMFCDynamicLayout::CMFCDynamicLayout |
建構 CMFCDynamicLayout 物件。 |
CMFCDynamicLayout::~CMFCDynamicLayout |
解構函式。 |
公用方法
巢狀型別
名稱 | 描述 |
---|---|
CMFCDynamicLayout::MoveSettings 結構 | 為動態配置中控制項封裝移動資料。 |
CMFCDynamicLayout::SizeSettings 結構 | 為動態配置中的控制項封裝大小變更資料。 |
備註
繼承階層架構
需求
標頭: afxlayout.h
CMFCDynamicLayout::AddItem
將子視窗 (通常是控制項) 加入至動態配置管理員所控制的視窗清單。
BOOL AddItem(
HWND hwnd,
MoveSettings moveSettings SizeSettings sizeSettings);
BOOL AddItem(
int nID,
MoveSettings moveSettings SizeSettings sizeSettings);
參數
hwnd
要加入之視窗的控制代碼。
nID
要加入之子控制項的 ID。
moveSettings
說明在視窗大小變更時應如何移動控制項的結構。
sizeSettings
說明在視窗大小變更時應如何為控制項調整大小的結構。
傳回值
如果成功加入項目則為 True,否則為 False。
備註
調整主控視窗的大小時,子控制項的位置和大小會動態變更。
CMFCDynamicLayout::Adjust
將子視窗 (通常是控制項) 加入至動態配置管理員所控制的視窗清單。
void Adjust();
備註
調整主控視窗的大小時,子控制項的位置和大小會動態變更。
CMFCDynamicLayout::Create
儲存並驗證主控視窗。
BOOL Create(CWnd* pHostWnd);
參數
pHostWnd
主控視窗的指標。
傳回值
如果作業成功,則為 TRUE,否則為 FALSE。
備註
CMFCDynamicLayout::GetHostWnd
傳回主控視窗的指標。
CWnd* GetHostWnd();
傳回值
主控視窗的指標。
備註
根據預設,會重新計算所有子控制項相對於此視窗的位置。
CMFCDynamicLayout::GetMinSize
傳回視窗大小下限,低於此值就不調整版面配置。
CSize GetMinSize();
傳回值
視窗大小下限,低於此值就不調整版面配置。
備註
調整主控視窗的大小時,子控制項的位置和大小會動態變更,但是有大小下限,低於此值就不會調整版面配置。 使用者可以將視窗調小,但視窗的某些部分就看不見。
CMFCDynamicLayout::GetWindowRect
擷取視窗的目前用戶端區域的週框。
void GetHostWndRect(CRect& rect,);
參數
rect
在此函數傳回之後,此參數會包含版面配置區域的週框。 這是輸出參數;輸入值會被覆寫。
備註
CMFCDynamicLayout::HasItem
檢查如果子控制項是否已加入動態配置。
BOOL HasItem(HWND hwnd);
參數
hwnd
控制項的視窗控制代碼。
傳回值
如果配置已有此項目,則為 TRUE,否則為 FALSE。
備註
CMFCDynamicLayout::IsEmpty
檢查動態配置是否未加入任何子視窗。
BOOL IsEmpty();
傳回值
如果配置沒有任何項目,則為 TRUE,否則為 FALSE。
備註
CMFCDynamicLayout::LoadResource
從 AFX_DIALOG_LAYOUT 資源讀取動態配置,然後將配置套用至主控視窗。
static BOOL LoadResource(CWnd* pHostWnd,
LPVOID lpResource,
DWORD dwSize);
參數
pHostWnd
主控視窗的指標。
lpResource
包含 AFX_DIALOG_LAYOUT 資源的緩衝區的指標。
dwSize
緩衝區大小,以位元組為單位。
傳回值
如果載入資源並將其套用至主控視窗中,則為 TRUE,否則為 FALSE。
備註
CMFCDynamicLayout::MoveHorizontal
取得MoveSettings值,這個值會定義當用戶調整主控窗口大小時,子控件水平移動多少。
static MoveSettings MoveHorizontal(int nRatio);
參數
nRatio
定義當使用者調整主視窗大小時,水平移動子控制項的幅度百分比。
傳回值
備註
CMFCDynamicLayout::MoveHorizontalAndVertical
取得MoveSettings值,這個值會定義當用戶調整主控窗口大小時,子控件水平移動多少。
static MoveSettings MoveHorizontalAndVertical(int nXRatio int nYRatio);
參數
nXRatio
定義當使用者調整主視窗大小時,水平移動子控制項的幅度百分比。
nYRatio
定義當使用者調整主視窗大小時,垂直移動子控制項的幅度百分比。
傳回值
備註
CMFCDynamicLayout::MoveNone
取得 MoveSettings 值,表示子控件沒有動作、垂直或水準。
static MoveSettings MoveNone();
傳回值
MoveSettings 值,可修正控件就地,因此不會隨著使用者調整主視窗的大小而移動。
備註
CMFCDynamicLayout::MoveSettings 結構
為動態配置中控制項封裝移動資料。
struct CMFCDynamicLayout::MoveSettings;
備註
這是 CMFCDynamicLayout
內部的巢狀類別。
CMFCDynamicLayout::MoveSettings::IsHorizontal
檢查移動資料是否指定非零的水平移動。
BOOL IsHorizontal() const
傳回值
如果 MoveSettings
物件指定非零的水平移動,則為 TRUE。
CMFCDynamicLayout::MoveSettings::IsNone
檢查移動資料是否指定不移動。
BOOL IsNone() const
傳回值
如果 MoveSettings
物件指定不移動,則為 TRUE 。
CMFCDynamicLayout::MoveSettings::IsVertical
請檢查移動資料是否指定非零的垂直移動。
BOOL IsVertical() const
傳回值
如果 MoveSettings
物件指定非零的垂直移動,則為 TRUE。
CMFCDynamicLayout::MoveVertical
取得MoveSettings值,這個值會定義當用戶調整主控窗口大小時,子控件垂直移動多少。
static MoveSettings MoveVertical(int nRatio);
參數
nRatio
定義當使用者調整主視窗大小時,垂直移動子控制項的幅度百分比。
傳回值
備註
CMFCDynamicLayout::SetMinSize
設定視窗大小下限,低於此值就不調整版面配置。
void SetMinSize(const CSize& size);
參數
size
所需的大小下限,低於此值就不調整版面配置。
備註
調整主控視窗的大小時,子控制項的位置和大小會動態變更,但是有大小下限,低於此值就不會調整版面配置。 使用者可以將視窗調小,但視窗的某些部分就看不見。
CMFCDynamicLayout::SizeHorizontal
取得 SizeSettings 值,這個值定義當使用者調整主控視窗大小時,子控件的水準重設大小。
static SizeSettings SizeHorizontal(int nRatio);
參數
nRatio
定義當使用者調整主視窗大小時,水平調整子控制項大小的幅度百分比。
傳回值
SizeSettings 值,封裝要求的大小比例。
備註
CMFCDynamicLayout::SizeHorizontalAndVertical
取得 SizeSettings 值,這個值定義當使用者調整主控視窗大小時,子控件的水準重設大小。
static SizeSettings SizeHorizontalAndVertical(int nXRatio int nYRatio);
參數
nXRatio
定義當使用者調整主視窗大小時,水平調整子控制項大小的幅度百分比。
nYRatio
定義當使用者調整主視窗大小時,垂直調整子控制項大小的幅度百分比。
傳回值
SizeSettings 值,封裝要求的大小比例。
備註
CMFCDynamicLayout::SizeNone
取得 SizeSettings 值,表示子控件的大小沒有變更。
static SizeSettings SizeNone();
傳回值
SizeSettings 值,可修正特定大小的控件,因此不會隨著使用者調整主視窗大小而變更大小。
備註
CMFCDynamicLayout::SizeSettings 結構
為動態配置中的控制項封裝大小變更資料。
struct CMFCDynamicLayout::SizeSettings;
備註
這是 CMFCDynamicLayout
內部的巢狀類別。
CMFCDynamicLayout::SizeSettings::IsHorizontal
檢查調整大小資料是否指定非零的水平調整大小。
BOOL IsHorizontal() const
傳回值
如果 SizeSettings
物件指定非零的水平調整大小,則為 TRUE。
CMFCDynamicLayout::SizeSettings::IsNone
檢查調整大小資料是否指定不調整大小。
BOOL IsNone() const
傳回值
如果 SizeSettings
物件指定不調整大小,則為 TRUE 。
CMFCDynamicLayout::SizeSettings::IsVertical
檢查調整大小資料是否指定非零的垂直調整大小。
BOOL IsVertical() const
傳回值
如果 SizeSettings
物件指定非零的垂直調整大小,則為 TRUE。
CMFCDynamicLayout::SizeVertical
取得 SizeSettings 值,這個值會定義當使用者調整主控視窗大小時,子控件垂直重設大小。
static SizeSettings SizeVertical(int nRatio);
參數
nRatio
定義當使用者調整主視窗大小時,垂直調整子控制項大小的幅度百分比。
傳回值
SizeSettings 值,封裝要求的大小比例。