對話框列類似於對話框中的對話框,其中包含用戶可以在之間索引卷標的標準 Windows 控制件。 另一個相似之處是,您建立對話框範本來代表對話框列。

建立和使用對話框列類似於建立和使用 CFormView 物件。 首先,使用 對話框編輯器 來定義具有樣式WS_CHILD且沒有其他樣式的對話範本。 範本不得有樣式WS_VISIBLE。 在您的應用程式程式代碼中,呼叫 建構函式來建構 CDialogBar 物件,然後呼叫 Create 以建立對話框列視窗,並將它附加至 CDialogBar 物件。

如需 的詳細資訊 CDialogBar ,請參閱對話框列 和技術 附註 31 、控制列一文。

在目前版本中, CDialogBar 對象無法裝載 Windows Forms 控制件。 如需 Visual C++ 中 Windows Forms 控件的詳細資訊,請參閱 在 MFC 中使用 Windows Form 使用者控件。

繼承階層架構

CObject

CCmdTarget

CControlBar

CDialogBar

標頭: afxext.h

CDialogBar::CDialogBar

建構 CDialogBar 物件。

CDialogBar();

CDialogBar::Create

載入 或 nIDTemplatelpszTemplateName指定的對話框資源範本,建立對話框列視窗、設定其樣式,並將它與 CDialogBar 對象產生關聯。

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

pParentWnd
CWnd 物件的指標。

lpszTemplateName
物件對話框資源範本名稱的 CDialogBar 指標。

nStyle
工具列樣式。 支援的其他工具列樣式如下:

  • CBRS_TOP控制列位於框架視窗頂端。

  • CBRS_BOTTOM控制列位於框架視窗底部。

  • CBRS_NOALIGN當父項重設大小時,不會重新定位控制列。

  • CBRS_TOOLTIPS控制列會顯示工具提示。

  • CBRS_SIZE_DYNAMIC控制列是動態的。

  • CBRS_SIZE_FIXED控制列已修正。

  • CBRS_FLOATING控制列浮動。

  • CBRS_FLYBY狀態列會顯示按鈕的相關信息。

  • CBRS_HIDE_INPLACE控件列不會向用戶顯示。

    對話框列的控件識別碼。

    nIDTemplate
    物件對話框範本的資源識別碼 CDialogBar

    如果成功則為非零;否則為 0。

    如果您指定CBRS_TOP或CBRS_BOTTOM對齊樣式,對話框的寬度就是框架視窗的寬度,而其高度則是 nIDTemplate指定的資源。 如果您指定CBRS_LEFT或CBRS_RIGHT對齊樣式,對話框欄的高度就是框架視窗的高度,而其寬度則是 nIDTemplate指定的資源。

    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;
    

    MFC 範例 CTRLBARS
    CControlBar Class
    階層架構圖表
    CFormView 類別
    CControlBar Class

  •