CDialogBar Class

Provides the functionality of a Windows modeless dialog box in a control bar.

Syntax

class CDialogBar : public CControlBar

Members

Public Constructors

Name Description
CDialogBar::CDialogBar Constructs a CDialogBar object.

Public Methods

Name Description
CDialogBar::Create Creates a Windows dialog bar and attaches it to the CDialogBar object.

Remarks

A dialog bar resembles a dialog box in that it contains standard Windows controls that the user can tab between. Another similarity is that you create a dialog template to represent the dialog bar.

Creating and using a dialog bar is similar to creating and using a CFormView object. First, use the dialog editor to define a dialog template with the style WS_CHILD and no other style. The template must not have the style WS_VISIBLE. In your application code, call the constructor to construct the CDialogBar object, then call Create to create the dialog-bar window and attach it to the CDialogBar object.

For more information on CDialogBar, see the article Dialog Bars and Technical Note 31, Control Bars.

Note

In the current release, a CDialogBar object cannot host Windows Forms controls. For more information about Windows Forms controls in Visual C++, see Using a Windows Form User Control in MFC.

Inheritance Hierarchy

CObject

CCmdTarget

CWnd

CControlBar

CDialogBar

Requirements

Header: afxext.h

CDialogBar::CDialogBar

Constructs a CDialogBar object.

CDialogBar();

CDialogBar::Create

Loads the dialog-box resource template specified by lpszTemplateName or nIDTemplate, creates the dialog-bar window, sets its style, and associates it with the CDialogBar object.

virtual BOOL Create(
    CWnd* pParentWnd,
    LPCTSTR lpszTemplateName,
    UINT nStyle,
    UINT nID);

virtual BOOL Create(
    CWnd* pParentWnd,
    UINT nIDTemplate,
    UINT nStyle,
    UINT nID);

Parameters

pParentWnd
A pointer to the parent CWnd object.

lpszTemplateName
A pointer to the name of the CDialogBar object's dialog-box resource template.

nStyle
The toolbar style. Additional toolbar styles supported are:

  • CBRS_TOP Control bar is at top of the frame window.

  • CBRS_BOTTOM Control bar is at bottom of the frame window.

  • CBRS_NOALIGN Control bar is not repositioned when the parent is resized.

  • CBRS_TOOLTIPS Control bar displays tool tips.

  • CBRS_SIZE_DYNAMIC Control bar is dynamic.

  • CBRS_SIZE_FIXED Control bar is fixed.

  • CBRS_FLOATING Control bar is floating.

  • CBRS_FLYBY Status bar displays information about the button.

  • CBRS_HIDE_INPLACE Control bar is not displayed to the user.

nID
The control ID of the dialog bar.

nIDTemplate
The resource ID of the CDialogBar object's dialog-box template.

Return Value

Nonzero if successful; otherwise 0.

Remarks

If you specify the CBRS_TOP or CBRS_BOTTOM alignment style, the dialog bar's width is that of the frame window and its height is that of the resource specified by nIDTemplate. If you specify the CBRS_LEFT or CBRS_RIGHT alignment style, the dialog bar's height is that of the frame window and its width is that of the resource specified by nIDTemplate.

Example

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
   if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
      return -1;

   EnableDocking(CBRS_ALIGN_ANY);

   // m_wndDlgBar is a CDialogBar member of CMainFrame
   // IDD_DIALOGBAR - Resource ID of the dialog
   // template. This dialog template should be created
   // with  the  style  WS_CHILD and no other style.
   // The template must not have the style WS_VISIBLE.
   if (!m_wndDlgBar.Create(this, IDD_DIALOGBAR,
                           CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY, IDD_DIALOGBAR))
   {
      TRACE0("Failed to create DlgBar\n");
      return -1; // Fail to create.
   }

   return 0;
}

See also

MFC Sample CTRLBARS
CControlBar Class
Hierarchy Chart
CFormView Class
CControlBar Class