CMFCDynamicLayout Class
Specifies how controls in a window are moved and resized as the user resizes the window.
Syntax
class CMFCDynamicLayout : public CObject
Members
Public Constructors
Name | Description |
---|---|
CMFCDynamicLayout::CMFCDynamicLayout |
Constructs a CMFCDynamicLayout object. |
CMFCDynamicLayout::~CMFCDynamicLayout |
Destructor. |
Public Methods
Name | Description |
---|---|
CMFCDynamicLayout::AddItem | Adds a child window, typically a control, to the list of windows that are controlled by the dynamic layout manager. |
CMFCDynamicLayout::Adjust | Adds a child window, typically a control, to the list of windows that are controlled by the dynamic layout manager. |
CMFCDynamicLayout::Create | Stores and validates the host window. |
CMFCDynamicLayout::GetHostWnd | Returns a pointer to a host window. |
CMFCDynamicLayout::GetMinSize | Returns the window size below which layout is not adjusted. |
CMFCDynamicLayout::GetWindowRect | Retrieves the rectangle for the window's current client area. |
CMFCDynamicLayout::HasItem | Checks if a child control was added to dynamic layout. |
CMFCDynamicLayout::IsEmpty | Checks if a dynamic layout has no child windows added. |
CMFCDynamicLayout::LoadResource | Reads the dynamic layout from AFX_DIALOG_LAYOUT resource and then applies the layout to the host window. |
static CMFCDynamicLayout::MoveHorizontal | Gets a MoveSettings value that defines how much a child control is moved horizontally when the user resizes its hosting window. |
static CMFCDynamicLayout::MoveHorizontalAndVertical | Gets a MoveSettings value that defines how much a child control is moved horizontally when the user resizes its hosting window. |
static CMFCDynamicLayout::MoveNone | Gets a MoveSettings value that represents no motion, vertical or horizontal, for a child control. |
static CMFCDynamicLayout::MoveVertical | Gets a MoveSettings value that defines how much a child control is moved vertically when the user resizes its hosting window. |
CMFCDynamicLayout::SetMinSize | Sets the window size below which layout is not adjusted. |
static CMFCDynamicLayout::SizeHorizontal | Gets a SizeSettings value that defines how much a child control is resized horizontally when the user resizes its hosting window. |
static CMFCDynamicLayout::SizeHorizontalAndVertical | Gets a SizeSettings value that defines how much a child control is resized horizontally when the user resizes its hosting window. |
static CMFCDynamicLayout::SizeNone | Gets a SizeSettings value that represents no change in size for a child control. |
static CMFCDynamicLayout::SizeVertical | Gets a SizeSettings value that defines how much a child control is resized vertically when the user resizes its hosting window. |
Nested Types
Name | Description |
---|---|
CMFCDynamicLayout::MoveSettings Structure | Encapsulates move data for controls in a dynamic layout. |
CMFCDynamicLayout::SizeSettings Structure | Encapsulates size change data for controls in a dynamic layout. |
Remarks
Inheritance Hierarchy
Requirements
Header: afxlayout.h
CMFCDynamicLayout::AddItem
Adds a child window, typically a control, to the list of windows that are controlled by the dynamic layout manager.
BOOL AddItem(
HWND hwnd,
MoveSettings moveSettings SizeSettings sizeSettings);
BOOL AddItem(
int nID,
MoveSettings moveSettings SizeSettings sizeSettings);
Parameters
hwnd
The handle to the window to add.
nID
The ID of the child control to add.
moveSettings
A structure that describes how the control should be moved as the window size changes.
sizeSettings
A structure that describes how the control should be resized as the window size changes.
Return Value
TRUE if the item was added successfully; otherwise FALSE.
Remarks
The position and size of a child control is changed dynamically when a hosting window is being resized.
CMFCDynamicLayout::Adjust
Adds a child window, typically a control, to the list of windows that are controlled by the dynamic layout manager.
void Adjust();
Remarks
The position and size of a child control is changed dynamically when a hosting window is being resized.
CMFCDynamicLayout::Create
Stores and validates the host window.
BOOL Create(CWnd* pHostWnd);
Parameters
pHostWnd
A pointer to the host window.
Return Value
TRUE if creation succeeded; otherwise FALSE.
Remarks
CMFCDynamicLayout::GetHostWnd
Returns a pointer to a host window.
CWnd* GetHostWnd();
Return Value
A pointer to the host window.
Remarks
By default all child control positions recalculated relative to this window.
CMFCDynamicLayout::GetMinSize
Returns the window size below which layout is not adjusted.
CSize GetMinSize();
Return Value
The window size below which layout is not adjusted.
Remarks
The position and size of a child control is changed dynamically when a hosting window is being resized, but there is a minimum size below which the layout is not adjusted. The user can resize the window to a smaller size, but parts of the window are then hidden from view.
CMFCDynamicLayout::GetWindowRect
Retrieves the rectangle for the window's current client area.
void GetHostWndRect(CRect& rect,);
Parameters
rect
After the function returns, this parameter contains the bounding rectangle of the layout area. This is an out parameter; the input value is overwritten.
Remarks
CMFCDynamicLayout::HasItem
Checks if a child control was added to dynamic layout.
BOOL HasItem(HWND hwnd);
Parameters
hwnd
The window handle for the control.
Return Value
TRUE if layout already has this item; otherwise FALSE.
Remarks
CMFCDynamicLayout::IsEmpty
Checks if a dynamic layout has no child windows added.
BOOL IsEmpty();
Return Value
TRUE if layout has no items; otherwise FALSE.
Remarks
CMFCDynamicLayout::LoadResource
Reads the dynamic layout from AFX_DIALOG_LAYOUT resource and then applies the layout to the host window.
static BOOL LoadResource(CWnd* pHostWnd,
LPVOID lpResource,
DWORD dwSize);
Parameters
pHostWnd
A pointer to the host window.
lpResource
A pointer to the buffer that contains the AFX_DIALOG_LAYOUT resource.
dwSize
The buffer size in bytes.
Return Value
TRUE if resource is loaded and applied to the host window; otherwise FALSE.
Remarks
CMFCDynamicLayout::MoveHorizontal
Gets a MoveSettings value that defines how much a child control is moved horizontally when the user resizes its hosting window.
static MoveSettings MoveHorizontal(int nRatio);
Parameters
nRatio
Defines as a percentage how far a child control is moved horizontally when the user resizes the host window.
Return Value
A MoveSettings value that encapsulates the requested move ratio.
Remarks
CMFCDynamicLayout::MoveHorizontalAndVertical
Gets a MoveSettings value that defines how much a child control is moved horizontally when the user resizes its hosting window.
static MoveSettings MoveHorizontalAndVertical(int nXRatio int nYRatio);
Parameters
nXRatio
Defines as a percentage how far a child control is moved horizontally when the user resizes the host window.
nYRatio
Defines as a percentage how far a child control is moved vertically when the user resizes the host window.
Return Value
A MoveSettings value that encapsulates the requested move ratio.
Remarks
CMFCDynamicLayout::MoveNone
Gets a MoveSettings value that represents no motion, vertical or horizontal, for a child control.
static MoveSettings MoveNone();
Return Value
A MoveSettings value that fixes the control in place, so that it does not move as the user resizes the host window.
Remarks
CMFCDynamicLayout::MoveSettings Structure
Encapsulates move data for controls in a dynamic layout.
struct CMFCDynamicLayout::MoveSettings;
Remarks
This is a nested class inside CMFCDynamicLayout
.
CMFCDynamicLayout::MoveSettings::IsHorizontal
Check if the move data specifies a nonzero horizontal move.
BOOL IsHorizontal() const
Return Value
TRUE if the MoveSettings
object specifies a nonzero horizontal move.
CMFCDynamicLayout::MoveSettings::IsNone
Check if the move data specifies no movement.
BOOL IsNone() const
Return Value
TRUE if the MoveSettings
object specifies no movement.
CMFCDynamicLayout::MoveSettings::IsVertical
Check if the move data specifies a nonzero vertical movement.
BOOL IsVertical() const
Return Value
TRUE if the MoveSettings
object specifies a nonzero vertical movement.
CMFCDynamicLayout::MoveVertical
Gets a MoveSettings value that defines how much a child control is moved vertically when the user resizes its hosting window.
static MoveSettings MoveVertical(int nRatio);
Parameters
nRatio
Defines as a percentage how far a child control is moved vertically when the user resizes the host window.
Return Value
A MoveSettings value that encapsulates the requested move ratio.
Remarks
CMFCDynamicLayout::SetMinSize
Sets the window size below which layout is not adjusted.
void SetMinSize(const CSize& size);
Parameters
size
The desired size below which layout is not adjusted.
Remarks
The position and size of a child control is changed dynamically when a hosting window is being resized, but there is a minimum size below which the layout is not adjusted. The user can resize the window to a smaller size, but parts of the window are then hidden from view.
CMFCDynamicLayout::SizeHorizontal
Gets a SizeSettings value that defines how much a child control is resized horizontally when the user resizes its hosting window.
static SizeSettings SizeHorizontal(int nRatio);
Parameters
nRatio
Defines as a percentage how far a child control is resized horizontally when the user resizes the host window.
Return Value
A SizeSettings value that encapsulates the requested size ratio.
Remarks
CMFCDynamicLayout::SizeHorizontalAndVertical
Gets a SizeSettings value that defines how much a child control is resized horizontally when the user resizes its hosting window.
static SizeSettings SizeHorizontalAndVertical(int nXRatio int nYRatio);
Parameters
nXRatio
Defines as a percentage how far a child control is resized horizontally when the user resizes the host window.
nYRatio
Defines as a percentage how far a child control is resized vertically when the user resizes the host window.
Return Value
A SizeSettings value that encapsulates the requested size ratio.
Remarks
CMFCDynamicLayout::SizeNone
Gets a SizeSettings value that represents no change in size for a child control.
static SizeSettings SizeNone();
Return Value
A SizeSettings value that fixes the control at a certain size, so that it does not change size as the user resizes the host window.
Remarks
CMFCDynamicLayout::SizeSettings Structure
Encapsulates size change data for controls in a dynamic layout.
struct CMFCDynamicLayout::SizeSettings;
Remarks
This is a nested class inside CMFCDynamicLayout
.
CMFCDynamicLayout::SizeSettings::IsHorizontal
Checks if the resize data specifies a nonzero horizontal resizing.
BOOL IsHorizontal() const
Return Value
TRUE if the SizeSettings
object specifies a nonzero horizontal resizing.
CMFCDynamicLayout::SizeSettings::IsNone
Checks if the resize data specifies no resizing.
BOOL IsNone() const
Return Value
TRUE if the SizeSettings
object specifies no resizing.
CMFCDynamicLayout::SizeSettings::IsVertical
Checks if the resize data specifies a nonzero vertical resizing.
BOOL IsVertical() const
Return Value
TRUE if the SizeSettings
object specifies a nonzero vertical resizing.
CMFCDynamicLayout::SizeVertical
Gets a SizeSettings value that defines how much a child control is resized vertically when the user resizes its hosting window.
static SizeSettings SizeVertical(int nRatio);
Parameters
nRatio
Defines as a percentage how far a child control is resized vertically when the user resizes the host window.
Return Value
A SizeSettings value that encapsulates the requested size ratio.