次の方法で共有


CDialogBar クラス

コントロール バー内の Windows のモードレス ダイアログ ボックスの機能を提供します。

構文

class CDialogBar : public CControlBar

メンバー

パブリック コンストラクター

名前 説明
CDialogBar::CDialogBar CDialogBar オブジェクトを構築します。

パブリック メソッド

名前 説明
CDialogBar::Create Windows ダイアログ バーを作成し、 CDialogBar オブジェクトにアタッチします。

解説

ダイアログ バーは、ユーザーがタブを開くことができる標準の Windows コントロールが含まれているという点で、ダイアログ ボックスに似ています。 もう 1 つの類似点は、ダイアログ バーを表すダイアログ テンプレートを作成することです。

ダイアログ バーの作成と使用は、 CFormView オブジェクトの作成と使用に似ています。 まず、 ダイアログ エディター を使用して、スタイルWS_CHILDを持ち、他のスタイルを持たないダイアログ テンプレートを定義します。 テンプレートにはスタイル WS_VISIBLEを含めてはなりません。 アプリケーション コードでコンストラクターを呼び出して CDialogBar オブジェクトを構築し、 Create を呼び出してダイアログ バー ウィンドウを作成し、 CDialogBar オブジェクトにアタッチします。

CDialogBarの詳細については、「ダイアログ バーテクニカル ノート 31 コントロール バー」を参照してください。

Note

現在のリリースでは、CDialogBar オブジェクトで Windows フォーム コントロールをホストすることはできません。 Visual C++ のWindows フォーム コントロールの詳細については、「 MFC での Windows フォーム ユーザー コントロールの使用」を参照してください。

継承階層

CObject

CCmdTarget

CWnd

CControlBar

CDialogBar

要件

Header: afxext.h

CDialogBar::CDialogBar

CDialogBar オブジェクトを構築します。

CDialogBar();

CDialogBar::Create

lpszTemplateNameまたはnIDTemplateで指定されたダイアログ ボックス リソース テンプレートを読み込み、ダイアログ バー ウィンドウを作成し、そのスタイルを設定して、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コントロール バーはユーザーに表示されません。

nID
ダイアログ バーのコントロール ID。

nIDTemplate
CDialogBar オブジェクトのダイアログ ボックス テンプレートのリソース ID。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 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