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 资源读取动态布局,然后将该布局应用到主机窗口。
静态 CMFCDynamicLayout::MoveHorizontal 获取一个 MoveSettings 值,该值定义在用户调整其承载窗口大小时水平移动子控件的距离。
静态 CMFCDynamicLayout::MoveHorizontalAndVertical 获取一个 MoveSettings 值,该值定义在用户调整其承载窗口大小时水平移动子控件的距离。
静态 CMFCDynamicLayout::MoveNone 获取一个 MoveSettings 值,该值表示子控件不移动(垂直或水平)。
静态 CMFCDynamicLayout::MoveVertical 获取一个 MoveSettings 值,该值定义在用户调整其承载窗口大小时垂直移动子控件的距离。
CMFCDynamicLayout::SetMinSize 设置窗口大小,低于此大小则不调整布局。
静态 CMFCDynamicLayout::SizeHorizontal 获取一个 SizeSettings 值,该值定义在用户调整其承载窗口大小时水平调整子控件的程度。
静态 CMFCDynamicLayout::SizeHorizontalAndVertical 获取一个 SizeSettings 值,该值定义在用户调整其承载窗口大小时水平调整子控件的程度。
静态 CMFCDynamicLayout::SizeNone 获取一个 SizeSettings 值,该值表示子控件的大小无更改。
静态 CMFCDynamicLayout::SizeVertical 获取一个 SizeSettings 值,该值定义在用户调整其承载窗口大小时垂直调整子控件的程度。

嵌套类型

名称 描述
CMFCDynamicLayout::MoveSettings Structure 封装动态布局中控件的移动数据。
CMFCDynamicLayout::SizeSettings Structure 封装动态布局中控件的大小更改数据。

备注

继承层次结构

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。

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
函数返回后,此参数将包含布局区域的边框。 这是一个 out 参数;输入的值将被覆盖。

备注

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
以百分比形式定义在用户调整承载窗口大小时水平移动子控件的距离。

返回值

一个 MoveSettings 值,该值封装请求的移动比率。

备注

CMFCDynamicLayout::MoveHorizontalAndVertical

获取一个 MoveSettings 值,该值定义在用户调整其承载窗口大小时水平移动子控件的距离。

static MoveSettings MoveHorizontalAndVertical(int nXRatio int nYRatio);

参数

nXRatio
以百分比形式定义在用户调整承载窗口大小时水平移动子控件的距离。

nYRatio
以百分比形式定义在用户调整承载窗口大小时垂直移动子控件的距离。

返回值

一个 MoveSettings 值,该值封装请求的移动比率。

注解

CMFCDynamicLayout::MoveNone

获取一个 MoveSettings 值,该值表示子控件不移动(垂直或水平)。

static MoveSettings MoveNone();

返回值

一个 MoveSettings 值,该值用于将控件固定到位,使该控件不随用户调整主窗口的大小而移动。

备注

CMFCDynamicLayout::MoveSettings Structure

封装动态布局中控件的移动数据。

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
以百分比形式定义在用户调整承载窗口大小时垂直移动子控件的距离。

返回值

一个 MoveSettings 值,该值封装请求的移动比率。

备注

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 Structure

封装动态布局中控件的大小更改数据。

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 值,该值封装请求的大小比率。

备注

另请参阅

层次结构图