Compartir a través de


CDialogBar (clase)

Proporciona la funcionalidad de un cuadro de diálogo no modal de Windows en una barra de controles.

Sintaxis

class CDialogBar : public CControlBar

Miembros

Constructores públicos

Nombre Descripción
CDialogBar::CDialogBar Construye un objeto CDialogBar.

Métodos públicos

Nombre Descripción
CDialogBar::Create Crea una barra de cuadro de diálogo de Windows y la asocia al objeto CDialogBar.

Comentarios

Una barra de cuadro de diálogo es similar a un cuadro de diálogo en que contiene controles estándar de Windows entre los que el usuario puede desplazarse mediante tabulación. Otra similitud es que se crea una plantilla de cuadro de diálogo para representar la barra de cuadro de diálogo.

La creación y el uso de una barra de cuadro de diálogo es similar a la creación y el uso de un objeto CFormView. En primer lugar, use el editor de cuadros de diálogo para definir una plantilla de cuadro de diálogo con el estilo WS_CHILD y ningún otro estilo. La plantilla no debe tener el estilo WS_VISIBLE. En el código de la aplicación, llame al constructor para construir el objeto CDialogBar y, después, llame a Create para crear la ventana de la barra de cuadro de diálogo y asociarla al objeto CDialogBar.

Para más información sobre CDialogBar, consulte el artículo Barras de cuadro de diálogo y Nota técnica 31, Barras de control.

Nota:

En la versión actual, un objeto CDialogBar no puede hospedar controles de Windows Forms. Para más información sobre los controles de Windows Forms en Visual C++, consulte Uso de un control de usuario de Windows Forms en MFC.

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CControlBar

CDialogBar

Requisitos

Encabezado: afxext.h

CDialogBar::CDialogBar

Construye un objeto CDialogBar.

CDialogBar();

CDialogBar::Create

Carga la plantilla de recursos del cuadro de diálogo especificada por lpszTemplateName o nIDTemplate, crea la ventana de la barra de cuadro de diálogo, establece su estilo y la asocia al objeto CDialogBar.

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

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

Parámetros

pParentWnd
Puntero al objeto CWnd principal.

lpszTemplateName
Puntero al nombre de la plantilla de recursos del cuadro de diálogo del objeto CDialogBar.

nStyle
Estilo de la barra de herramientas. Se admiten estilos de barra de herramientas adicionales:

  • La barra de control CBRS_TOP está en la parte superior de la ventana de marco.

  • La barra de control CBRS_BOTTOM está en la parte inferior de la ventana de marco.

  • La barra de control CBRS_NOALIGN no se cambia de posición cuando se cambia el tamaño del elemento principal.

  • La barra de control CBRS_TOOLTIPS muestra sugerencias sobre herramientas.

  • La barra de control CBRS_SIZE_DYNAMIC es dinámica.

  • La barra de control CBRS_SIZE_FIXED es fija.

  • La barra de control CBRS_FLOATING es flotante.

  • La barra de estado CBRS_FLYBY muestra información sobre el botón.

  • La barra de control CBRS_HIDE_INPLACE no se muestra al usuario.

Nid
Identificador de control de la barra de cuadro de diálogo.

nIDTemplate
Identificador de recurso de la plantilla de cuadro de diálogo del objeto CDialogBar.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Si especifica el estilo de alineación CBRS_TOP o CBRS_BOTTOM, el ancho de la barra del cuadro de diálogo es el de la ventana del marco y su alto es el del recurso especificado por nIDTemplate. Si especifica el estilo de alineación CBRS_LEFT o CBRS_RIGHT, el alto de la barra de cuadro de diálogo es el de la ventana de marco y su ancho es el del recurso especificado por nIDTemplate.

Ejemplo

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;
}

Vea también

MFC Sample CTRLBARS
CControlBar Class
Gráfico de jerarquías
CFormView (clase)
CControlBar Class