共用方式為


CMFCDynamicLayout 類別

指定使用者調整視窗大小時,控制項在視窗中如何移動和調整大小。

語法

class CMFCDynamicLayout : public CObject

成員

公用建構函式

名稱 描述
CMFCDynamicLayout::CMFCDynamicLayout 建構 CMFCDynamicLayout 物件。
CMFCDynamicLayout::~CMFCDynamicLayout 解構函式。

公用方法

名稱 描述
CMFCDynamicLayout::AddItem 將子視窗 (通常是控制項) 加入至動態配置管理員所控制的視窗清單。
CMFCDynamicLayout::Adjust 將子視窗 (通常是控制項) 加入至動態配置管理員所控制的視窗清單。
CMFCDynamicLayout::Create 儲存並驗證主控視窗。
CMFCDynamicLayout::GetHostWnd 傳回主控視窗的指標。
CMFCDynamicLayout::GetMinSize 傳回視窗大小下限,低於此值就不調整版面配置。
CMFCDynamicLayout::GetWindowRect 擷取視窗的目前用戶端區域的週框。
CMFCDynamicLayout::HasItem 檢查如果子控制項是否已加入動態配置。
CMFCDynamicLayout::IsEmpty 檢查動態配置是否未加入任何子視窗。
CMFCDynamicLayout::LoadResource 從 AFX_DIALOG_LAYOUT 資源讀取動態配置,然後將配置套用至主控視窗。
static CMFCDynamicLayout::MoveHorizontal 取得 Move設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項水準移動多少。
static CMFCDynamicLayout::MoveHorizontalAndVertical 取得 Move設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項水準移動多少。
static CMFCDynamicLayout::MoveNone 取得 Move設定 值,表示子控制項沒有動作、垂直或水準。
static CMFCDynamicLayout::MoveVertical 取得 Move設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項垂直移動多少。
CMFCDynamicLayout::SetMinSize 設定視窗大小下限,低於此值就不調整版面配置。
static CMFCDynamicLayout::SizeHorizontal 取得 Size設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項的水準調整大小。
static CMFCDynamicLayout::SizeHorizontalAndVertical 取得 Size設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項的水準調整大小。
static CMFCDynamicLayout::SizeNone 取得 Size設定 值,表示子控制項的大小沒有變更。
static CMFCDynamicLayout::SizeVertical 取得 Size設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項垂直調整大小。

巢狀類型

名稱 描述
CMFCDynamicLayout::Move設定 結構 為動態配置中控制項封裝移動資料。
CMFCDynamicLayout::Size設定 結構 為動態配置中的控制項封裝大小變更資料。

備註

繼承階層架構

CObject

CMFCDynamicLayout

需求

標頭: afxlayout.h

CMFCDynamicLayout::AddItem

將子視窗 (通常是控制項) 加入至動態配置管理員所控制的視窗清單。

BOOL AddItem(
    HWND hwnd,
    MoveSettings moveSettings SizeSettings sizeSettings);

BOOL AddItem(
    int nID,
    MoveSettings moveSettings SizeSettings sizeSettings);

參數

hwnd
要加入之視窗的控制代碼。

nID
要加入之子控制項的 ID。

move設定
說明在視窗大小變更時應如何移動控制項的結構。

size設定
說明在視窗大小變更時應如何為控制項調整大小的結構。

傳回值

如果成功加入項目則為 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,);

參數

矩形
在此函數傳回之後,此參數會包含版面配置區域的週框。 這是輸出參數;輸入值會被覆寫。

備註

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

取得 Move設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項水準移動多少。

static MoveSettings MoveHorizontal(int nRatio);

參數

nRatio
定義當使用者調整主視窗大小時,水平移動子控制項的幅度百分比。

傳回值

Move設定 封裝所要求移動比率的值。

備註

CMFCDynamicLayout::MoveHorizontalAndVertical

取得 Move設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項水準移動多少。

static MoveSettings MoveHorizontalAndVertical(int nXRatio int nYRatio);

參數

nXRatio
定義當使用者調整主視窗大小時,水平移動子控制項的幅度百分比。

nYRatio
定義當使用者調整主視窗大小時,垂直移動子控制項的幅度百分比。

傳回值

Move設定 封裝所要求移動比率的值。

備註

CMFCDynamicLayout::MoveNone

取得 Move設定 值,表示子控制項沒有動作、垂直或水準。

static MoveSettings MoveNone();

傳回值

Move設定 值,可修正控制項就地,因此不會隨著使用者調整主視窗的大小而移動。

備註

CMFCDynamicLayout::Move設定 結構

為動態配置中控制項封裝移動資料。

struct CMFCDynamicLayout::MoveSettings;

備註

這是 CMFCDynamicLayout 內部的巢狀類別。

CMFCDynamicLayout::Move設定::IsHorizontal

檢查移動資料是否指定非零的水平移動。

BOOL IsHorizontal() const

傳回值

如果 MoveSettings 物件指定非零的水平移動,則為 TRUE。

CMFCDynamicLayout::Move設定::IsNone

檢查移動資料是否指定不移動。

BOOL IsNone() const

傳回值

如果 MoveSettings 物件指定不移動,則為 TRUE 。

CMFCDynamicLayout::Move設定::IsVertical

請檢查移動資料是否指定非零的垂直移動。

BOOL IsVertical() const

傳回值

如果 MoveSettings 物件指定非零的垂直移動,則為 TRUE。

CMFCDynamicLayout::MoveVertical

取得 Move設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項垂直移動多少。

static MoveSettings MoveVertical(int nRatio);

參數

nRatio
定義當使用者調整主視窗大小時,垂直移動子控制項的幅度百分比。

傳回值

Move設定 封裝所要求移動比率的值。

備註

CMFCDynamicLayout::SetMinSize

設定視窗大小下限,低於此值就不調整版面配置。

void SetMinSize(const CSize& size);

參數

size
所需的大小下限,低於此值就不調整版面配置。

備註

調整主控視窗的大小時,子控制項的位置和大小會動態變更,但是有大小下限,低於此值就不會調整版面配置。 使用者可以將視窗調小,但視窗的某些部分就看不見。

CMFCDynamicLayout::SizeHorizontal

取得 Size設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項的水準調整大小。

static SizeSettings SizeHorizontal(int nRatio);

參數

nRatio
定義當使用者調整主視窗大小時,水平調整子控制項大小的幅度百分比。

傳回值

Size設定 封裝所要求大小比率的值。

備註

CMFCDynamicLayout::SizeHorizontalAndVertical

取得 Size設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項的水準調整大小。

static SizeSettings SizeHorizontalAndVertical(int nXRatio int nYRatio);

參數

nXRatio
定義當使用者調整主視窗大小時,水平調整子控制項大小的幅度百分比。

nYRatio
定義當使用者調整主視窗大小時,垂直調整子控制項大小的幅度百分比。

傳回值

Size設定 封裝所要求大小比率的值。

備註

CMFCDynamicLayout::SizeNone

取得 Size設定 值,表示子控制項的大小沒有變更。

static SizeSettings SizeNone();

傳回值

Size設定 值,可修正特定大小的控制項,因此不會隨著使用者調整主視窗的大小而變更大小。

備註

CMFCDynamicLayout::Size設定 結構

為動態配置中的控制項封裝大小變更資料。

struct CMFCDynamicLayout::SizeSettings;

備註

這是 CMFCDynamicLayout 內部的巢狀類別。

CMFCDynamicLayout::Size設定::IsHorizontal

檢查調整大小資料是否指定非零的水平調整大小。

BOOL IsHorizontal() const

傳回值

如果 SizeSettings 物件指定非零的水平調整大小,則為 TRUE。

CMFCDynamicLayout::Size設定::IsNone

檢查調整大小資料是否指定不調整大小。

BOOL IsNone() const

傳回值

如果 SizeSettings 物件指定不調整大小,則為 TRUE 。

CMFCDynamicLayout::Size設定::IsVertical

檢查調整大小資料是否指定非零的垂直調整大小。

BOOL IsVertical() const

傳回值

如果 SizeSettings 物件指定非零的垂直調整大小,則為 TRUE。

CMFCDynamicLayout::SizeVertical

取得 Size設定 值,這個值會定義當使用者調整主控視窗大小時,子控制項垂直調整大小。

static SizeSettings SizeVertical(int nRatio);

參數

nRatio
定義當使用者調整主視窗大小時,垂直調整子控制項大小的幅度百分比。

傳回值

Size設定 封裝所要求大小比率的值。

備註

另請參閱

階層架構圖表
類別