BCGSoft > Products > Product feature tour

Product feature tour

Context | First | Prev | Next | Last
Fully implemented BCGControlBar Pro (MFC)
Fully implemented BCGSuite (MFC)
Not available BCGControlBar (Microsoft .NET)

Resizable Dialogs and Forms

Layout managers are responsible for automatic reposition of controls hosted in a window for which layout management is enabled.You can enable layout management for the following objects:

  • dialogs
  • dialog bars
  • property sheets
  • form views


A class, for which layout management is enabled, is called "host window". Its child controls are anchored to its edges. You can also specify a distance between controls and edges, and "move type", which defines how a child control is repositioned when its host is resized.

Dialog in initial state:

Dialog after resizing:

Sample code:
    // Enable controls layout:

BOOL CMyDialog::OnInitDialog() 
    CBCGPStaticLayout* pLayout = (CBCGPStaticLayout*)GetLayout();
    if (pLayout != NULL)
        // Add controls to layout:
        pLayout->AddAnchor(IDOK, CBCGPStaticLayout::e_MoveTypeBoth, CBCGPStaticLayout::e_SizeTypeNone);
        pLayout->AddAnchor(IDCANCEL, CBCGPStaticLayout::e_MoveTypeBoth, CBCGPStaticLayout::e_SizeTypeNone);
        pLayout->AddAnchor(IDC_EDITBOX, CBCGPStaticLayout::e_MoveTypeNone, CBCGPStaticLayout::e_SizeTypeBoth);
    return TRUE;
Prev  Next