次の方法で共有


CMFCToolBarMenuButton クラス

ポップアップ メニューを含むツール バー ボタンです。 詳細については、Visual Studio のインストールの VC\atlmfc\src\mfc フォルダーにあるソース コードを参照してください。

構文

class CMFCToolBarMenuButton : public CMFCToolBarButton

メンバー

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

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

パブリック メソッド

名前 説明
CMFCToolBarMenuButton::CompareWith このインスタンスを、指定された CMFCToolBarButton オブジェクトと比較します。 ( をオーバーライドしますCMFCToolBarButton::CompareWith.)
CMFCToolBarMenuButton::CopyFrom 別のツール バー ボタンのプロパティを現在のボタンにコピーします。 ( をオーバーライドしますCMFCToolBarButton::CopyFrom.)
CMFCToolBarMenuButton::CreateFromMenu Windows メニュー ハンドルからツール バー メニューを初期化します。
CMFCToolBarMenuButton::CreateMenu ツール バー メニューのコマンドで構成される Windows メニューを作成します。 Windows メニューへのハンドルを返します。
CMFCToolBarMenuButton::CreatePopupMenu ツールバー メニューを表示するポップアップ メニュー オブジェクト ( CMFCPopupMenu クラス) を作成します。
CMFCToolBarMenuButton::EnableQuickCustomize
CMFCToolBarMenuButton::GetCommands ツール バー メニューのコマンドの一覧への読み取り専用アクセスを提供します。
CMFCToolBarMenuButton::GetImageRect ボタンイメージの外接する四角形を取得します。
CMFCToolBarMenuButton::GetPaletteRows メニューがパレット モードの場合に、ポップアップ メニューの行数を返します。
CMFCToolBarMenuButton::GetPopupMenu ボタンに関連付けられているポップアップ メニュー オブジェクトへのポインターを返します。
CMFCToolBarMenuButton::HasButton
CMFCToolBarMenuButton::HaveHotBorder ユーザーがボタンを選択したときにボタンの境界線を表示するかどうかを指定します。 ( をオーバーライドしますCMFCToolBarButton::HaveHotBorder.)
CMFCToolBarMenuButton::IsBorder
CMFCToolBarMenuButton::IsClickedOnMenu
CMFCToolBarMenuButton::IsDroppedDown ポップアップ メニューを表示するかどうかを指定します。
CMFCToolBarMenuButton::IsEmptyMenuAllowed 選択したメニュー項目からサブメニューをユーザーが開くことができるかどうかを判断するために、フレームワークによって呼び出されます。
CMFCToolBarMenuButton::IsExclusive ボタンが排他モードかどうか、つまり、ユーザーがポインターを別のツール バーまたはボタンの上に移動しても、ポップアップ メニューが開いたままかどうかを判断します。
CMFCToolBarMenuButton::IsMenuPaletteMode ポップアップ メニューがパレット モードかどうかを指定します。
CMFCToolBarMenuButton::IsQuickMode
CMFCToolBarMenuButton::IsTearOffMenu ポップアップ メニューにティアオフ バーがあるかどうかを指定します。
CMFCToolBarMenuButton::OnAfterCreatePopupMenu
CMFCToolBarMenuButton::OnBeforeDrag ボタンをドラッグできるかどうかを指定します。 ( をオーバーライドしますCMFCToolBarButton::OnBeforeDrag.)
CMFCToolBarMenuButton::OnCalculateSize 指定したデバイス コンテキストとドッキング状態のボタンのサイズを計算するためにフレームワークによって呼び出されます。 ( をオーバーライドしますCMFCToolBarButton::OnCalculateSize.)
CMFCToolBarMenuButton::OnCancelMode WM_CANCELMODE メッセージを処理するためにフレームワークによって呼び出されます。 ( をオーバーライドしますCMFCToolBarButton::OnCancelMode.)
CMFCToolBarMenuButton::OnChangeParentWnd ボタンが新しいツール バーに挿入されたときにフレームワークによって呼び出されます。 ( をオーバーライドしますCMFCToolBarButton::OnChangeParentWnd.)
CMFCToolBarMenuButton::OnClick ユーザーがマウス ボタンをクリックしたときにフレームワークによって呼び出されます。 ( をオーバーライドしますCMFCToolBarButton::OnClick.)
CMFCToolBarMenuButton::OnClickMenuItem ユーザーがポップアップ メニューで項目を選択すると、フレームワークによって呼び出されます。
CMFCToolBarMenuButton::OnContextHelp 親ツール バーがWM_HELPHITTEST メッセージを処理するときにフレームワークによって呼び出されます。 ( をオーバーライドしますCMFCToolBarButton::OnContextHelp.)
CMFCToolBarMenuButton::OnDraw 指定したスタイルとオプションを使用してボタンを描画するために、フレームワークによって呼び出されます。 ( をオーバーライドしますCMFCToolBarButton::OnDraw.)
CMFCToolBarMenuButton::OnDrawOnCustomizeList Customize ダイアログ ボックスの Commands ペインにボタンを描画するためにフレームワークによって呼び出されます。 ( をオーバーライドしますCMFCToolBarButton::OnDrawOnCustomizeList.)
CMFCToolBarMenuButton::OpenPopupMenu ユーザーがポップアップ メニューを開いたときにフレームワークによって呼び出されます。
CMFCToolBarMenuButton::ResetImageToDefault ボタンに関連付けられているイメージの既定値に設定します。 ( をオーバーライドしますCMFCToolBarButton::ResetImageToDefault.)
CMFCToolBarMenuButton::SaveBarState ツール バー ボタンの状態を保存します。 ( をオーバーライドしますCMFCToolBarButton::SaveBarState.)
CMFCToolBarMenuButton::Serialize このオブジェクトをアーカイブから読み取るか、アーカイブに書き込みます。 ( をオーバーライドしますCMFCToolBarButton::Serialize.)
CMFCToolBarMenuButton::SetACCData 指定した CAccessibilityData オブジェクトにツール バー ボタンのアクセシビリティ データを設定します。 ( をオーバーライドしますCMFCToolBarButton::SetACCData.)
CMFCToolBarMenuButton::SetMenuOnly ボタンをツール バーに追加できるかどうかを指定します。
CMFCToolBarMenuButton::SetMenuPaletteMode ポップアップ メニューがパレット モードかどうかを指定します。
CMFCToolBarMenuButton::SetMessageWnd
CMFCToolBarMenuButton::SetRadio ツールバー メニュー ボタンが選択されていることを示すアイコンを強制的に表示します。
CMFCToolBarMenuButton::SetTearOff ポップアップ メニューのティアオフ バー ID を指定します。

保護メソッド

名前 説明
CMFCToolBarMenuButton::D rawDocumentIcon メニュー ボタンにアイコンを描画します。

データ メンバー

名前 説明
CMFCToolBarMenuButton::m_bAlwaysCallOwnerDraw TRUE の場合、フレームワークは常にボタンが描画されたときに CFrameWndEx::OnDrawMenuImage を呼び出します。

解説

CMFCToolBarMenuButtonは、メニュー、サブメニューを含むメニュー項目、コマンドを実行またはメニューを表示するボタン、またはメニューのみを表示するボタンとして表示できます。 コンストラクター CMFCToolbarMenuButton::CMFCToolbarMenuButtonのボタンに関連付けられているイメージ、テキスト、メニュー ハンドル、コマンド ID などのパラメーターを指定して、メニュー ボタンの動作と外観を決定します。

CMFCToolbarMenuButton クラスから派生したカスタム クラスは、DECLARE_SERIAL マクロを使用する必要があります。 DECLARE_DYNCREATE マクロは、アプリケーションが閉じるとエラーを生成します。

次の例では、 CMFCToolBarMenuButton オブジェクトを構成する方法を示します。 このコードは、ドロップダウン メニューがパレット モードであることを指定し、ユーザーがメニュー バーからメニュー ボタンをドラッグしたときに作成されるティアオフ バーの ID を指定する方法を示しています。 このコード スニペットは、 Word パッド サンプルの一部です。

pBorderType->SetMenuPaletteMode(TRUE, 2 /* Rows number */);
pBorderType->SetTearOff(ID_BORDER_TEAROFF);

継承階層

CObject

CMFCToolBarButton

CMFCToolBarMenuButton

要件

ヘッダー: afxtoolbarmenubutton.h

CMFCToolBarMenuButton::CMFCToolBarMenuButton

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

CMFCToolBarMenuButton();
CMFCToolBarMenuButton(const CMFCToolBarMenuButton& src);

CMFCToolBarMenuButton(
    UINT uiID,
    HMENU hMenu,
    int iImage,
    LPCTSTR lpszText=NULL,
    BOOL bUserButton=FALSE);

パラメーター

src
[in]このCMFCToolBarMenuButton オブジェクトにコピーする既存のCMFCToolBarMenuButton オブジェクト。

uiID
[in]ユーザーがボタンをクリックしたときに実行するコマンドの ID。コマンドを直接実行しないメニュー ボタンの場合は (UINT)-1。

hMenu
[in]メニューへのハンドル。ボタンにメニューがない場合は NULL。

iImage
[in]ボタンの画像のインデックス。このボタンにアイコンがない場合、または uiID で指定されたコマンドのアイコンを使用する場合は -1。 インデックスは、アプリケーション内の各 CMFCToolBarImages オブジェクトで同じです。

lpszText
[in]ツール バー メニュー ボタンのテキスト。

bUserButton
[in]ボタンにユーザー定義イメージが表示される場合は TRUE。ボタンに、 uiID で指定されたコマンドに関連付けられた定義済みのイメージが表示される場合は FALSE。

解説

uiID が有効なコマンド ID の場合、ユーザーがコマンドをクリックすると、ボタンはそのコマンドを実行します。 hMenu が有効なメニュー ハンドルの場合、ボタンがツールバーに表示されるときはドロップダウン メニュー、メニューに表示される場合はサブメニューが表示されます。 uiIDhMenuの両方が有効な場合、ボタンは分割ボタンであり、ユーザーがクリックしたときにコマンドを実行する部分と、ユーザーがクリックしたときにメニューをドロップダウンする下矢印付きの部分があります。 ただし、 hMenu が有効な場合、ユーザーは、ボタンがメニューに挿入されたときに、ボタンをクリックしてコマンドを実行することはできません。

次の例では、 CMFCToolBarMenuButton クラスのオブジェクトを構築する方法を示します。 このコード スニペットは、 Word パッド サンプルの一部です。

CMFCToolBarMenuButton *pBorderType = new CMFCToolBarMenuButton(ID_BORDER_1, pPopup->GetSafeHmenu(),
                                                               GetCmdMgr()->GetCmdImage(ID_BORDER_1, FALSE),
                                                               _T("Borders"));

CMFCToolBarMenuButton::CompareWith

virtual BOOL CompareWith(const CMFCToolBarButton& other) const;

パラメーター

[入力]

戻り値

解説

CMFCToolBarMenuButton::CopyFrom

virtual void CopyFrom(const CMFCToolBarButton& src);

パラメーター

[入力] src

解説

CMFCToolBarMenuButton::CreateFromMenu

Windows メニュー ハンドルからツール バー メニューを初期化します。

virtual void CreateFromMenu(HMENU hMenu);

パラメーター

hMenu
[in]メニューへのハンドル。

解説

ツールバー メニュー ボタンには、ドロップダウン サブメニューを表示できます。

フレームワークはこのメソッドを呼び出して、メニューからサブメニューのコマンドを初期化します。

CMFCToolBarMenuButton::CreateMenu

ツール バー メニューのコマンドで構成されるメニューを作成します。 メニューへのハンドルを返します。

virtual HMENU CreateMenu() const;

戻り値

成功した場合のメニューへのハンドル。 ツール バー メニュー ボタンに関連付けられているコマンドの一覧が空の場合は NULL。

解説

派生クラスでこのメソッドをオーバーライドして、メニューの生成方法をカスタマイズできます。

CMFCToolBarMenuButton::CreatePopupMenu

ツール バー メニューを表示する CMFCPopupMenu オブジェクトを作成します。

virtual CMFCPopupMenu* CreatePopupMenu();

戻り値

ツール バー メニュー ボタンに関連付けられているドロップダウン メニューを表示する CMFCPopupMenu オブジェクトへのポインター。

解説

このメソッドは、ボタンに関連付けられているドロップダウン メニューの表示を準備するためにフレームワークによって呼び出されます。

既定の実装では、新しい CMFCPopupMenu オブジェクトを構築して返すだけです。 CMFCPopupMenu クラスの派生型を使用する場合や追加の初期化を実行する場合は、このメソッドをオーバーライドします。

CMFCToolBarMenuButton::D rawDocumentIcon

メニュー ボタンにドキュメント アイコンを描画します。

void DrawDocumentIcon(
    CDC* pDC,
    const CRect& rectImage,
    HICON hIcon);

パラメーター

pDC
[in]デバイス コンテキストへのポインター。

rectImage
[in]画像の外接する四角形の座標。

hIcon
[in]アイコンのハンドル。

解説

このメソッドは、ドキュメント アイコンを取得し、 rectImage で指定された領域の中央にあるメニュー ボタンに描画します。

CMFCToolBarMenuButton::EnableQuickCustomize

void EnableQuickCustomize();

解説

CMFCToolBarMenuButton::HasButton

virtual BOOL HasButton() const;

戻り値

解説

CMFCToolBarMenuButton::HaveHotBorder

virtual BOOL HaveHotBorder() const;

戻り値

解説

CMFCToolBarMenuButton::IsBorder

virtual BOOL IsBorder() const;

戻り値

解説

CMFCToolBarMenuButton::IsClickedOnMenu

BOOL IsClickedOnMenu() const;

戻り値

解説

CMFCToolBarMenuButton::IsQuickMode

BOOL IsQuickMode();

戻り値

解説

CMFCToolBarMenuButton::GetCommands

ツール バー メニューのコマンドの一覧への読み取り専用アクセスを提供します。

const CObList& GetCommands() const;

戻り値

CObList クラスオブジェクトへの const 参照。CMFCToolBarButton クラス オブジェクトのコレクションが含まれます。

解説

ツールバー メニュー ボタンにはサブメニューを表示できます。 コマンドの一覧は、コンストラクターのサブメニューまたは CMFCToolBarMenuButton::CreateFromMenu メニュー (HMENU) のハンドルとして指定できます。 メニューは、 CMFCToolBarButton クラスから派生したオブジェクトの一覧に変換され 内部 CObList オブジェクトに格納されます。 この一覧には、このメソッドを呼び出してアクセスできます。

CMFCToolBarMenuButton::GetImageRect

ボタンイメージの外接する四角形を取得します。

void GetImageRect(CRect& rectImage);

パラメーター

rectImage
[out]画像の外接する四角形の座標を受け取る CRect オブジェクトへの参照。

CMFCToolBarMenuButton::GetPaletteRows

メニューがパレット モードのときのドロップダウン メニューの行数を返します。

int GetPaletteRows() const;

戻り値

パレット内の行数。

解説

メニュー ボタンがパレット モードに設定されている場合、メニュー項目は複数の列に表示され、行数は制限されます。 行数を取得するには、このメソッドを呼び出します。 パレット モードを有効または無効にし、 CMFCToolBarMenuButton::SetMenuPaletteMode を使用して行数を指定できます。

CMFCToolBarMenuButton::GetPopupMenu

ボタンのドロップダウン メニューを表す CMFCPopupMenu クラス オブジェクトへのポインターを返します。

CMFCPopupMenu* GetPopupMenu() const;

戻り値

フレームワークがツール バー メニュー ボタンのサブメニューを描画したときに作成された CMFCPopupMenu クラス オブジェクトへのポインター。サブメニューが表示されない場合は NULL。

解説

ツール バー メニュー ボタンにドロップダウン メニューが表示されると、メニューを表す CMFCPopupMenu クラス オブジェクトが作成されます。 このメソッドを呼び出して、 CMFCPopupMenu オブジェクトへのポインターを取得します。 返されたポインターは一時的なもので、ユーザーがドロップダウン メニューを閉じると無効になるため、保存しないでください。

CMFCToolBarMenuButton::IsDroppedDown

ポップアップ メニューが現在表示されているかどうかを示します。

virtual BOOL IsDroppedDown() const;

戻り値

TRUE の場合、ツール バー メニュー ボタンのサブメニューが表示されます。それ以外の場合は FALSE。

CMFCToolBarMenuButton::IsEmptyMenuAllowed

メニュー項目に空のサブメニューを表示するかどうかを指定します。

virtual BOOL IsEmptyMenuAllowed() const;

戻り値

フレームワークがサブメニューが空の場合でも、現在選択されているメニュー項目からサブメニューを開く場合は TRUE。それ以外の場合は FALSE。

解説

フレームワークは、ユーザーが現在選択されているメニュー項目からサブメニューを開こうとすると、このメソッドを呼び出します。 サブメニューが空で、 IsEmptyMenuAllowed が FALSE を返した場合、サブメニューは開かなくなります。

既定の実装では FALSE が返されます。 この動作をカスタマイズするには、このメソッドをオーバーライドします。

CMFCToolBarMenuButton::IsExclusive

ボタンが排他モードかどうかを示します。

virtual BOOL IsExclusive() const;

戻り値

ボタンが排他モードで動作している場合は TRUE。それ以外の場合は FALSE。

解説

ユーザーがボタンのポップアップ メニューを開き、別のツール バーまたはメニュー ボタンの上にマウス ポインターを移動すると、ボタンが排他モードでない限り、ポップアップ メニューが閉じます。

既定の実装では常に FALSE が返されます。 排他モードを有効にする場合は、派生クラスでこのメソッドをオーバーライドします。

CMFCToolBarMenuButton::IsMenuPaletteMode

ドロップダウン メニューがパレット モードかどうかを指定します。

BOOL IsMenuPaletteMode() const;

戻り値

パレット モードが有効な場合は TRUE、それ以外の場合は FALSE。

解説

メニュー ボタンをパレット モードに設定すると、複数の列にメニュー項目が表示され、行数が制限されます。 行数を取得するには、このメソッドを呼び出します。 パレット モードを有効または無効にするには、 CMFCToolBarMenuButton::SetMenuPaletteMode を呼び出します。

CMFCToolBarMenuButton::IsTearOffMenu

ドロップダウン メニューにティアオフ バーがあるかどうかを示します。

virtual BOOL IsTearOffMenu() const;

戻り値

ツール バーのメニュー ボタンに引き裂きバーがある場合は TRUE。それ以外の場合は FALSE。

解説

ティアオフ機能を有効にしてティアオフ バー ID を設定するには、 CMFCToolBarMenuButton::SetTearOff を呼び出します。

CMFCToolBarMenuButton::m_bAlwaysCallOwnerDraw

ボタンを描画するときに、フレームワークが常に CFrameWndEx::OnDrawMenuImage を呼び出すかどうかを指定します。

static BOOL m_bAlwaysCallOwnerDraw;

解説

このメンバー変数が TRUE に設定されている場合、ボタンは常に CFrameWndEx::OnDrawMenuImage メソッドを呼び出して、ボタンに画像を表示します。 m_bAlwaysCallOwnerDrawが FALSE の場合、イメージが事前に定義されている場合、ボタン自体によってイメージが描画されます。 そうでない場合は、OnDrawMenuImage を呼び出します。

CMFCToolBarMenuButton::OnAfterCreatePopupMenu

virtual void OnAfterCreatePopupMenu();

解説

CMFCToolBarMenuButton::OnBeforeDrag

virtual BOOL OnBeforeDrag() const;

戻り値

解説

CMFCToolBarMenuButton::OnCalculateSize

virtual SIZE OnCalculateSize(
    CDC* pDC,
    const CSize& sizeDefault,
    BOOL bHorz);

パラメーター

[入力] pDC
[入力] sizeDefault
[in] bHorz

戻り値

解説

CMFCToolBarMenuButton::OnCancelMode

virtual void OnCancelMode();

解説

CMFCToolBarMenuButton::OnChangeParentWnd

virtual void OnChangeParentWnd(CWnd* pWndParent);

パラメーター

[入力] pWndParent

解説

CMFCToolBarMenuButton::OnClick

virtual BOOL OnClick(
    CWnd* pWnd,
    BOOL bDelay = TRUE);

パラメーター

[入力] pWnd
[入力] bDelay

戻り値

解説

CMFCToolBarMenuButton::OnClickMenuItem

ユーザーがドロップダウン メニューで項目を選択すると、フレームワークによって呼び出されます。

virtual BOOL OnClickMenuItem();

戻り値

フレームワークが既定のメニュー項目の処理を続行する必要がある場合は FALSE。それ以外の場合は TRUE。 既定の実装では常に FALSE が返されます。

解説

ユーザーがメニュー項目をクリックすると、フレームワークはその項目に関連付けられているコマンドを実行します。

メニュー項目の処理をカスタマイズするには、クラスから派生したクラスのOnClickMenuItemCMFCToolBarMenuButtonオーバーライドします。 また、 CFrameWndEx::OnShowPopupMenu をオーバーライドし、特別な処理を必要とするメニュー ボタンを派生クラスのインスタンスに置き換える必要があります。

CMFCToolBarMenuButton::OnContextHelp

virtual BOOL OnContextHelp(CWnd* pWnd);

パラメーター

[入力] pWnd

戻り値

解説

CMFCToolBarMenuButton::OnDraw

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    CMFCToolBarImages* pImages,
    BOOL bHorz = TRUE,
    BOOL bCustomizeMode = FALSE,
    BOOL bHighlight = FALSE,
    BOOL bDrawBorder = TRUE,
    BOOL bGrayDisabledButtons = TRUE);

パラメーター

[入力] pDC
[in] rect
[入力] pImages
[in] bHorz
[入力] bCustomizeMode
[入力] bHighlight
[入力] bDrawBorder
[入力] bGrayDisabledButtons

解説

CMFCToolBarMenuButton::OnDrawOnCustomizeList

virtual int OnDrawOnCustomizeList(
    CDC* pDC,
    const CRect& rect,
    BOOL bSelected);

パラメーター

[入力] pDC
[in] rect
[入力] bSelected

戻り値

解説

CMFCToolBarMenuButton::OpenPopupMenu

ユーザーがツール バー メニュー ボタンのドロップダウン メニューを開いたときにフレームワークによって呼び出されます。

virtual BOOL OpenPopupMenu(CWnd* pWnd=NULL);

パラメーター

pWnd
[in]ドロップダウン メニュー コマンドを受け取るウィンドウを指定します。 ツールバー メニュー ボタンに親ウィンドウがある場合にのみ NULL を指定できます。

戻り値

CMFCPopupMenu クラスオブジェクトが作成され、正常に開かれた場合は TRUE。それ以外の場合は FALSE。

解説

この関数は、ユーザーがツール バー メニュー ボタンからドロップダウン メニューを開いたときにフレームワークによって呼び出されます。

CMFCToolBarMenuButton::ResetImageToDefault

virtual void ResetImageToDefault();

解説

CMFCToolBarMenuButton::SaveBarState

virtual void SaveBarState();

解説

フレームワークは、ドラッグ アンド ドロップ操作の結果としてツール バー ボタンを作成するときに、このメソッドを呼び出します。 このメソッドは、トップレベル のポップアップ メニューの CMFCPopupMenu::SaveState メソッドを呼び出します。これにより、ポップアップ メニューの親ボタンがそのメニューを再作成します。

CMFCToolBarMenuButton::Serialize

virtual void Serialize(CArchive& ar);

パラメーター

[in] ar

解説

CMFCToolBarMenuButton::SetACCData

リボン要素のアクセシビリティ データを設定します。

virtual BOOL SetACCData(
    CWnd* pParent,
    CAccessibilityData& data);

パラメーター

pParent
リボン要素の親ウィンドウ。

data
リボン要素のアクセシビリティ データ。

戻り値

常に TRUE が返されます。

解説

既定では、このメソッドはリボン要素のアクセシビリティ データを設定し、常に TRUE を返します。 アクセシビリティ データを設定し、成功または失敗を示す値を返すようにするには、このメソッドをオーバーライドします。

CMFCToolBarMenuButton::SetMenuOnly

有効なコマンド ID とサブメニューの両方がある場合に、ボタンをメニュー ボタンまたは分割ボタンとして描画するかどうかを指定します。

void SetMenuOnly(BOOL bMenuOnly);

パラメーター

bMenuOnly
[in]有効なコマンド ID とサブメニューの両方がある場合にこのボタンをメニュー ボタンとして表示する場合は TRUE、有効なコマンド ID とサブメニューの両方がある場合に分割ボタンとしてこのボタンを表示する場合は FALSE。

解説

通常、ツールバー メニュー ボタンにサブメニューとコマンド ID の両方がある場合、メニューは、メイン ボタンと下方向ボタンがアタッチされた分割ボタンのように見えます。 このメソッドを呼び出し、 bMenuOnly が TRUE の場合、ボタンは、ボタンに下矢印が付いた単一のメニュー ボタンのように見えます。 ユーザーがいずれかのモードで矢印をクリックするとサブメニューが開き、いずれかのモードでボタンの非矢印部分をクリックすると、フレームワークによってコマンドが実行されます。

CMFCToolBarMenuButton::SetMenuPaletteMode

ドロップダウン メニューがパレット モードかどうかを指定します。

void SetMenuPaletteMode(
    BOOL bMenuPaletteMode=TRUE,
    int nPaletteRows=1);

パラメーター

bMenuPaletteMode
[in]ドロップダウン メニューがパレット モードかどうかを指定します。

nPaletteRows
[in]パレット内の行数。

解説

パレット モードでは、すべてのメニュー項目が複数列のパレットとして表示されます。 行数は、 nPaletteRows を使用して指定します。

CMFCToolBarMenuButton::SetMessageWnd

void SetMessageWnd(CWnd* pWndMessage);

パラメーター

[入力] pWndMessage

解説

CMFCToolBarMenuButton::SetRadio

チェック されている場合にラジオ ボタン スタイル アイコンを表示するツール バー メニュー ボタンを設定します。

virtual void SetRadio();

解説

メニュー ボタンがオンの間に描画されると、 CMFCVisualManager::OnDrawMenuCheck を呼び出してチェックマーク アイコンを描画します。 既定では、 OnDrawMenuCheck は、現在のビジュアル マネージャーがメニュー ボタンにチェック ボックス スタイルのチェックマークを描画することを要求します。 このメソッドを呼び出した後、現在のビジュアル マネージャーは代わりに、メニュー ボタンにラジオ ボタン スタイルのチェックマークを描画します。 この変更を元に戻すことはできません。

このメソッドを呼び出し、メニュー ボタンが現在表示されている場合は、更新されます。

CMFCToolBarMenuButton::SetTearOff

ドロップダウン メニューのティアオフ バーの ID を指定します。

virtual void SetTearOff(UINT uiBarID);

パラメーター

uiBarID
[in]新しいティアオフ バー ID を指定します。

解説

ユーザーがメニュー バーからメニュー ボタンをドラッグしたときに作成されるティアオフ バーの ID を指定するには、このメソッドを呼び出します。 uiBarID パラメーターが 0 の場合、ユーザーはメニュー ボタンを破棄できません。

CWinAppEx::EnableTearOffMenus を呼び出して、アプリケーションでティアオフ メニュー機能を有効にします。

関連項目

階層図
クラス
CMFCToolBarButton クラス
CMFCToolBar クラス
CMFCPopupMenu クラス