CMFCDynamicLayout Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at 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.