CMFCDynamicLayout 类
指定窗口中的控件如何随着用户重设窗口大小而移动和重设大小。
语法
class CMFCDynamicLayout : public CObject
成员
公共构造函数
名称 | 描述 |
---|---|
CMFCDynamicLayout::CMFCDynamicLayout |
构造 CMFCDynamicLayout 对象。 |
CMFCDynamicLayout::~CMFCDynamicLayout |
析构函数。 |
公共方法
嵌套类型
名称 | 描述 |
---|---|
CMFCDynamicLayout::MoveSettings Structure | 封装动态布局中控件的移动数据。 |
CMFCDynamicLayout::SizeSettings Structure | 封装动态布局中控件的大小更改数据。 |
备注
继承层次结构
要求
标头: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 值,该值封装请求的大小比率。