次の方法で共有


CDialogBar 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 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