次の方法で共有


CMFCPopupMenu クラス

Windows のポップアップ メニュー機能を実装し、ティアオフ メニューやツールヒントなどの機能を追加することでそれを拡張します。 詳細については、Visual Studio のインストールの VC\atlmfc\src\mfc フォルダーにあるソース コードを参照してください。

構文

class CMFCPopupMenu : public CMiniFrameWnd

メンバー

保護されたコンストラクター

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

パブリック メソッド

名前 説明
CMFCPopupMenu::ActivatePopupMenu
CMFCPopupMenu::AlwaysShowEmptyToolsEntry ユーザー定義ツールの空のエントリを表示するポップアップ メニューを有効にするかどうかを設定します。
CMFCPopupMenu::AreAllCommandsShown
CMFCPopupMenu::CheckArea ポップアップ メニューを基準としたポイントの位置を指定します。
CMFCPopupMenu::CloseMenu
CMFCPopupMenu::Create ポップアップ メニューを作成し、 CMFCPopupMenu オブジェクトにアタッチします。
CMFCPopupMenu::D efaultMouseClickOnClose
CMFCPopupMenu::EnableMenuLogo ポップアップ メニューのロゴを初期化します。
CMFCPopupMenu::EnableMenuSound メニューサウンドを有効にします。
CMFCPopupMenu::EnableResize
CMFCPopupMenu::EnableScrolling
CMFCPopupMenu::EnableVertResize
CMFCPopupMenu::FindSubItemByCommand
CMFCPopupMenu::GetActiveMenu 現在アクティブなメニューを返します。
CMFCPopupMenu::GetAnimationSpeed ポップアップ メニューのアニメーション速度を返します。
CMFCPopupMenu::GetAnimationType 現在の種類のポップアップ メニュー アニメーションを返します。
CMFCPopupMenu::GetDropDirection
CMFCPopupMenu::GetForceMenuFocus ポップアップ メニューが表示されたときに、メニュー バーにフォーカスが戻るかどうかを示します。
CMFCPopupMenu::GetForceShadow
CMFCPopupMenu::GetHMenu アタッチされたメニュー リソースへのハンドルを返します。
CMFCPopupMenu::GetMenuBar ポップアップ メニュー内に埋め込まれた CMFCPopupMenuBar を返します。
CMFCPopupMenu::GetMenuItem 指定したインデックス位置にあるメニュー項目へのポインターを返します。
CMFCPopupMenu::GetMenuItemCount ポップアップ メニュー内の項目数を返します。
CMFCPopupMenu::GetMessageWnd フレームワークがポップアップ メニュー メッセージをルーティングするウィンドウへのポインターを返します。
CMFCPopupMenu::GetParentArea
CMFCPopupMenu::GetParentButton 親ツール バー ボタンへのポインターを返します。
CMFCPopupMenu::GetParentPopupMenu 親ポップアップ メニューへのポインターを返します。
CMFCPopupMenu::GetParentRibbonElement
CMFCPopupMenu::GetParentToolBar 親ツールバーへのポインターを返します。
CMFCPopupMenu::GetQuickCustomizeType
CMFCPopupMenu::GetSelItem 現在選択されているメニュー コマンドへのポインターを返します。
CMFCPopupMenu::HasBeenResized
CMFCPopupMenu::HideRarelyUsedCommands 使用頻度の低いコマンドをポップアップ メニューで非表示にできるかどうかを示します。
CMFCPopupMenu::InCommand
CMFCPopupMenu::InsertItem 指定した場所にあるポップアップ メニューに新しい項目を挿入します。
CMFCPopupMenu::InsertSeparator 指定した位置にあるポップアップ メニューに区切り記号を挿入します。
CMFCPopupMenu::IsAlwaysClose
CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry
CMFCPopupMenu::IsCustomizePane ポップアップ メニューが QuickCustomizePane として機能しているかどうかを示します。
CMFCPopupMenu::IsEscClose
CMFCPopupMenu::IsIdle ポップアップ メニューが現在アイドル状態かどうかを示します。
CMFCPopupMenu::IsMenuSound
CMFCPopupMenu::IsQuickCustomize 関連付けられている CMFCToolBarMenuButton クラス が QuickCustomize モードであるかどうかを判断します。
CMFCPopupMenu::IsResizeble
CMFCPopupMenu::IsRightAlign メニューが右揃えか左揃えかを示します。
CMFCPopupMenu::IsScrollable
CMFCPopupMenu::IsSendMenuSelectMsg ユーザーがポップアップ メニューからコマンドを選択したときに、フレームワークが親フレームに通知するかどうかを示します。
CMFCPopupMenu::IsShown ポップアップ メニューが現在表示されているかどうかを示します。
CMFCPopupMenu::MoveTo
CMFCPopupMenu::OnCmdMsg ( CFrameWnd::OnCmdMsgをオーバーライドします)。
CMFCPopupMenu::P ostCommand
CMFCPopupMenu::P reTranslateMessage ( CFrameWnd::PreTranslateMessageをオーバーライドします)。
CMFCPopupMenu::RecalcLayout 標準コントロール バーのオン/オフの切り替え時、またはフレーム ウィンドウのサイズ変更時にフレームワークによって呼び出されます。 ( をオーバーライドしますCFrameWnd::RecalcLayout.)
CMFCPopupMenu::RemoveAllItems ポップアップ メニューからすべての項目をクリアします。
CMFCPopupMenu::RemoveItem 指定した項目をポップアップ メニューから削除します。
CMFCPopupMenu::SaveState
CMFCPopupMenu::SetAnimationSpeed ポップアップ メニューのアニメーション速度を設定します。
CMFCPopupMenu::SetAnimationType ポップアップ メニューのアニメーションの種類を設定します。
CMFCPopupMenu::SetAutoDestroy
CMFCPopupMenu::SetDefaultItem ポップアップ メニューの既定のコマンドを設定します。
CMFCPopupMenu::SetForceMenuFocus ポップアップ メニューが表示されたときに、入力フォーカスがメニュー バーに戻ります。
CMFCPopupMenu::SetForceShadow ポップアップ メニューがメイン フレームの外側に表示されるときに、フレームワークにメニュー シャドウを強制的に描画します。
CMFCPopupMenu::SetMaxWidth ポップアップ メニューの最大幅を設定します。
CMFCPopupMenu::SetMessageWnd
CMFCPopupMenu::SetParentRibbonElement
CMFCPopupMenu::SetQuickCustomizeType
CMFCPopupMenu::SetQuickMode
CMFCPopupMenu::SetRightAlign ポップアップ メニューのメニューの配置を設定します。
CMFCPopupMenu::SetSendMenuSelectMsg ユーザーがコマンドを選択したときにポップアップ メニューが親フレームに通知するかどうかを制御するフラグを設定します。
CMFCPopupMenu::ShowAllCommands すべてのコマンドをポップアップ メニューに強制的に表示します。
CMFCPopupMenu::TriggerResize
CMFCPopupMenu::UpdateAllShadows 開いているすべてのポップアップ メニューの影を更新します。
CMFCPopupMenu::UpdateShadow ポップアップ メニューの影を更新します。

保護メソッド

名前 説明
CMFCPopupMenu::CreateTearOffBar
CMFCPopupMenu::OnChangeHot
CMFCPopupMenu::OnChooseItem

解説

通常、MFC はポップアップ メニューを自動的に作成します。 CMFCPopupMenu オブジェクトを手動で作成する場合は、ヒープにオブジェクトを割り当て、CMFCPopupMenu::Create を呼び出します。

次の例では、ポップアップ メニュー オブジェクトを構成する方法を示します。 この例では、ポップアップ メニューのロゴとサウンドを設定する方法、アニメーションの速度と種類を設定する方法、メイン フレームの外側にポップアップ メニューが表示されたときにメニューの影を描画する方法、最大幅を設定する方法、およびポップアップ メニューの適切なメニュー配置を設定する方法を示します。 このコード スニペットは、 Custom Pages サンプルの一部です。

// 30 is the size of the logo in pixels.
pPopupMenu->EnableMenuLogo(30);
pPopupMenu->EnableMenuSound();
// 500 is the animation speed in milliseconds.
pPopupMenu->SetAnimationSpeed(500);
pPopupMenu->SetAnimationType(CMFCPopupMenu::SLIDE);
pPopupMenu->SetForceShadow(true);
// 200 is the maximum width of the pop-up menu in pixels.
pPopupMenu->SetMaxWidth(200);
pPopupMenu->SetRightAlign();
pPopupMenu->InsertSeparator();

継承階層

CObject

CCmdTarget

CWnd

CFrameWnd

CMiniFrameWnd

CMFCPopupMenu

要件

Header: afxpopupmenu.h

CMFCPopupMenu::ActivatePopupMenu

static BOOL __stdcall ActivatePopupMenu(
    CFrameWnd* pTopFrame,
    CMFCPopupMenu* pPopupMenu);

パラメーター

[入力] pTopFrame
[入力] pPopupMenu

戻り値

解説

CMFCPopupMenu::AlwaysShowEmptyToolsEntry

ユーザー定義ツールの空のエントリを表示するポップアップ メニューを有効にするかどうかを設定します。

static void AlwaysShowEmptyToolsEntry(BOOL bShow = TRUE);

パラメーター

bShow
[in]ポップアップ メニューに空のエントリを表示できる場合は TRUE。それ以外の場合は FALSE。

CMFCPopupMenu::AreAllCommandsShown

BOOL AreAllCommandsShown() const;

戻り値

解説

CMFCPopupMenu::CheckArea

ポップアップ メニューを基準としたポイントの位置を指定します。

MENUAREA_TYPE CheckArea(const CPoint& ptScreen) const;

パラメーター

ptScreen
[in]画面座標内のポイント。

戻り値

ポイントがポップアップ メニューからの相対位置を示すMENUAREA_TYPE パラメーターです。

解説

MENUAREA_TYPE パラメーターには、次のいずれかの値を指定できます。

  • OUTSIDE - ptScreen はポップアップ メニューの外側にあります。

  • LOGO - ptScreen はロゴ領域上にあります。

  • TEAROFF_CAPTION - ptScreen は、ティアオフ キャプションの上にあります。

  • SHADOW_BOTTOM - ptScreen は、ポップアップ メニューの下部の影の上にあります。

  • SHADOW_RIGHT - ptScreen は、ポップアップ メニューの右側の影にあります。

  • MENU - ptScreen はコマンド経由です。

CMFCPopupMenu::CloseMenu

void CloseMenu(BOOL bSetFocusToBar = FALSE);

パラメーター

[入力] bSetFocusToBar

解説

CMFCPopupMenu::CMFCPopupMenu

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

CMFCPopupMenu(
    CMFCToolBarsMenuPropertyPage* pCustPage,
    LPCTSTR lpszTitle);

パラメーター

pCustPage
[in]カスタマイズ ページへのポインター。

lpszTitle
[in]メニューキャプションを含む文字列。

解説

このメソッドは、 CMFCPopupMenuのリソースを割り当てます。 ポップアップ メニュー項目を作成するには、 CMFCPopupMenu::Create を呼び出します。

CMFCPopupMenu::Create

ポップアップ メニューを作成し、 CMFCPopupMenu オブジェクトにアタッチします。

virtual BOOL Create(
    CWnd* pWndParent,
    int x,
    int y,
    HMENU hMenu,
    BOOL bLocked = FALSE,
    BOOL bOwnMessage = FALSE);

パラメーター

pWndParent
[in] CMFCPopupMenuの親ウィンドウ。

x
[in]ポップアップ メニューの位置の水平方向の画面座標

y
[in]ポップ メニューの位置の垂直方向の画面座標。

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

ブロック
[in]メニューがカスタマイズ可能かどうかを示すブール型パラメーター。 FALSE は、ポップアップ メニューがカスタマイズ可能であることを示します。

bOwnMessage
[in]フレームワークがメニュー メッセージをルーティングする方法を示すブール型パラメーター。 詳細については、「解説」を参照してください。

戻り値

メソッドが成功した場合は TRUE。それ以外の場合は FALSE。

解説

bOwnMessage が TRUE の場合、フレームワークはメニュー メッセージを pWndParent にルーティングします。 bOwnMessage が TRUE の場合、pWndParent を NULL にすることはできません。 bOwnMessage が FALSE の場合、フレームワークはメニュー メッセージを親ポップアップ メニューにルーティングします。

次の例では、CMFCPopuMenu クラスの Create メソッドを使用する方法を示します。 このコード スニペットは、 Custom Pages サンプルの一部です。

CMFCPopupMenu *pPopupMenu = new CMFCPopupMenu;
// CPoint point
// CMenu* pPopup
// The this pointer points to CMainFrame class which extends the CFrameWnd class.
pPopupMenu->Create(this, point.x, point.y, pPopup->Detach());

CMFCPopupMenu::CreateTearOffBar

virtual CPane* CreateTearOffBar(
    CFrameWnd* pWndMain,
    UINT uiID,
    LPCTSTR lpszName);

パラメーター

[入力] pWndMain
[入力] uiID
[入力] lpszName

戻り値

解説

CMFCPopupMenu::D efaultMouseClickOnClose

virtual BOOL DefaultMouseClickOnClose() const;

戻り値

解説

ポップアップ メニューのロゴを初期化します。

void EnableMenuLogo(
    int iLogoSize,
    LOGO_LOCATION nLogoLocation = MENU_LOGO_LEFT);

パラメーター

iLogoSize
[in]ロゴのサイズ (ピクセル単位)。

nLogoLocation
[in]ロゴの場所を示す列挙データ型。

解説

ロゴを表示するには、メイン フレーム ウィンドウ CFrameWndEx::OnDrawMenuLogo メソッドを実装します。

nLogoLocation に指定できる値は、MENU_LOGO_LEFT、MENU_LOGO_RIGHT、MENU_LOGO_TOP、およびMENU_LOGO_BOTTOMです。

CMFCPopupMenu::EnableMenuSound

メニューサウンドを有効にします。

static void EnableMenuSound(BOOL bEnable = TRUE);

パラメーター

bEnable
[in]サウンドを有効にする場合は TRUE、それ以外の場合は FALSE。

解説

サウンドを有効にすると、ユーザーがポップアップ メニューを開くかメニュー コマンドを選択したときに、フレームワークによって PlaySound メソッドが呼び出されます。 この機能は、既定で有効になっています。

CMFCPopupMenu::EnableResize

void EnableResize(CSize sizeMinResize);

パラメーター

[入力] sizeMinResize

解説

CMFCPopupMenu::EnableScrolling

void EnableScrolling(BOOL = TRUE);

パラメーター

[入力] BOOL

解説

CMFCPopupMenu::EnableVertResize

void EnableVertResize(int nMinResize);

パラメーター

[入力] nMinResize

解説

CMFCPopupMenu::FindSubItemByCommand

CMFCToolBarMenuButton* FindSubItemByCommand(UINT uiCmd) const;

パラメーター

[入力] uiCmd

戻り値

解説

CMFCPopupMenu::GetActiveMenu

現在アクティブなメニューを返します。

static CMFCPopupMenu* GetActiveMenu();

戻り値

アクティブなポップアップ メニューへのポインター。現在アクティブなポップアップ メニューがない場合は NULL。

解説

各アプリケーションには、アクティブなポップアップ メニューを最大 1 つ含めることができます。

CMFCPopupMenu::GetAnimationSpeed

ポップアップ メニューのアニメーション速度を返します。

static UINT GetAnimationSpeed();

戻り値

ポップアップ メニューのアニメーションが完了するまでの時間 (ミリ秒単位) を示す整数。

解説

アニメーション速度はグローバル値です。 CMFCPopupMenu::SetAnimationSpeed を使用して、ポップアップ メニューのアニメーション速度を変更します。

CMFCPopupMenu::GetAnimationType

ポップアップ アニメーションの現在の種類を返します。

static CMFCPopupMenu::ANIMATION_TYPE GetAnimationType(BOOL bNoSystem = FALSE);

パラメーター

bNoSystem
[in]このメソッドがグローバル値をチェックするかどうかを示すブール型パラメーター。 このメソッドが CMFCPopupMenu クラスのこのインスタンスのアニメーション スタイルを返す場合は FALSE

戻り値

アニメーションの種類を表す列挙値。

解説

ポップアップ メニューのアニメーションのスタイルは、アプリケーションのグローバルです。 CMFCPopupMenu::SetAnimationType を使用してアニメーション スタイルを設定します。

次の表に、使用可能なアニメーションの種類を示します。

説明
NO_ANIMATION ポップアップ メニューはアニメーション化されず、すぐに表示されます。
繰り広げる フレームワークでは、左上隅から右下隅にポップアップ メニューが表示されます。
滑る ポップアップ メニューが上から下に移動します。
剥げる ポップアップメニューは最初に透明に表示され、徐々に凝固します。

CMFCPopupMenu::GetDropDirection

DROP_DIRECTION GetDropDirection() const;

戻り値

解説

CMFCPopupMenu::GetForceMenuFocus

ポップアップ メニューが表示されたときに、メニュー バーにフォーカスが戻るかどうかを示します。

static BOOL GetForceMenuFocus();

戻り値

ポップアップ メニューが表示されたときに入力フォーカスがメニュー バーに返される場合は TRUE。ポップアップ メニューにフォーカスが保持されている場合は FALSE。

解説

既定では、アプリケーションはメニュー バーにフォーカスを戻しません。 この設定を変更するには、 CMFCPopupMenu::SetForceMenuFocus を使用します。

CMFCPopupMenu::GetForceShadow

static BOOL __stdcall GetForceShadow();

戻り値

解説

CMFCPopupMenu::GetHMenu

アタッチされたメニュー リソースへのハンドルを返します。

HMENU GetHMenu();

CMFCPopupMenu::GetMenuBar

ポップアップ メニュー内に埋め込まれた CMFCPopupMenuBar を返します。

virtual CMFCPopupMenuBar* GetMenuBar();

戻り値

埋め込み CMFCPopupMenuBarへのポインター。

解説

ポップアップ メニューには、 CMFCPopupMenuBar オブジェクトが埋め込まれています。 別の埋め込みクラスを使用している場合は、派生クラスでこのメソッドをオーバーライドする必要があります。

CMFCPopupMenu::GetMenuItem

指定したインデックス位置にあるメニュー項目へのポインターを返します。

CMFCToolBarMenuButton* GetMenuItem(int iIndex) const;

パラメーター

iIndex
[in]メニュー項目の 0 から始まるインデックス。

戻り値

メニュー項目へのポインター。 インデックスが無効な場合は NULL。

解説

メニュー項目は、 CMFCToolBarMenuButton クラスによって表されます。 このメソッドを呼び出すと、適切な CMFCToolBarMenuButtonへのポインターが返されます。

CMFCPopupMenu::GetMenuItemCount

ポップアップ メニューの項目数を返します。

int GetMenuItemCount() const;

戻り値

メニュー内の項目の数。

CMFCPopupMenu::GetMessageWnd

フレームワークがポップアップ メニュー メッセージをルーティングするウィンドウへのポインターを返します。

CWnd* GetMessageWnd() const;

戻り値

ポップアップ メニュー メッセージを受信するウィンドウへのポインター。ウィンドウがない場合は NULL。

解説

メソッド CMFCPopupMenu::Create を使用してポップアップ メニューを作成する場合は、メニュー メッセージを受け取るウィンドウを指定します。

CMFCPopupMenu::GetParentArea

virtual CWnd* GetParentArea(CRect& rectParentBtn);

パラメーター

[入力] rectParentBtn

戻り値

解説

CMFCPopupMenu::GetParentButton

親ツール バー ボタンへのポインターを返します。

CMFCToolBarMenuButton* GetParentButton() const;

戻り値

親ツール バー ボタンへのポインター。 ポップアップ メニューに親ツール バー ボタンがない場合は NULL。

解説

CMFCPopupMenuは、メニューのボタンに関連付けることができます。 このシナリオでは、ユーザーが親ツール バー ボタンを選択すると、ポップアップ メニューが表示されます。

ポップアップ メニューがショートカット メニューの場合、親ツール バー ボタンはありません。

CMFCPopupMenu::GetParentPopupMenu

親ポップアップ メニューへのポインターを返します。

CMFCPopupMenu* GetParentPopupMenu() const;

戻り値

CMFCPopupMenu オブジェクトへのポインター。親ポップアップ メニューがない場合は NULL。

解説

ポップアップ メニューには、サブメニューである場合にのみ、親 CMFCPopupMenu オブジェクトがあります。

CMFCPopupMenu::GetParentRibbonElement

CMFCRibbonBaseElement* GetParentRibbonElement() const;

戻り値

解説

CMFCPopupMenu::GetParentToolBar

親ツールバーへのポインターを返します。

CMFCToolBar* GetParentToolBar() const;

戻り値

親ツール バーへのポインター。 ポップアップ メニューに親ツール バーがない場合は NULL。

解説

CMFCPopupMenuがショートカット メニューの場合、親ツールバーはありません。

CMFCPopupMenu::GetQuickCustomizeType

QUICK_CUSTOMIZE_TYPE GetQuickCustomizeType() const;

戻り値

解説

CMFCPopupMenu::GetSelItem

現在選択されているメニュー コマンドへのポインターを返します。

CMFCToolBarMenuButton* GetSelItem();

戻り値

現在選択されているメニュー コマンドへのポインター。項目が選択されていない場合は NULL。

解説

ポップアップ メニューのメニュー コマンドは、 CMFCToolBarMenuButton クラスまたは CMFCToolBarMenuButtonから派生したクラスによって表されます。

CMFCPopupMenu::HasBeenResized

BOOL HasBeenResized() const;

戻り値

解説

CMFCPopupMenu::HideRarelyUsedCommands

使用頻度の低いコマンドをポップアップ メニューで非表示にできるかどうかを示します。

BOOL HideRarelyUsedCommands() const;

戻り値

ポップアップ メニューで使用頻度の低いコマンドを非表示にできる場合は TRUE。それ以外の場合は FALSE。

解説

このメソッドは、その構成が有効になっている場合ではなく、使用頻度の低いコマンドをポップアップ メニューで非表示にできるかどうかを指定します。 ポップアップ メニューに親ボタンがあり、親ウィンドウが CMFCMenuBar クラスから派生している場合、使用頻度の低いコマンドを非表示にすることができます。 CMFCMenuBar::SetRecentlyUsedMenus を使用してこの機能を有効にし、CMFCMenuBar::IsRecentlyUsedMenus を使用して、この機能が現在有効になっているかどうかを確認します。 親ウィンドウには、これらのメソッドの両方を呼び出す必要があります。

CMFCPopupMenu::InCommand

virtual BOOL InCommand();

戻り値

解説

CMFCPopupMenu::InsertItem

指定した場所にあるポップアップ メニューに新しい項目を挿入します。

int InsertItem(
    const CMFCToolBarMenuButton& button,
    int iInsertA = -1);

パラメーター

ボタン
[in]追加するメニュー項目への参照。

iInsertAt
[in]新しい項目の 0 から始まるインデックス。 iInsertAt が -1 の場合、項目はメニューの末尾に追加されます。

戻り値

項目が挿入された位置の 0 から始まるインデックス。 メソッドが失敗した場合は -1。

解説

このメソッドは、 iInsertAt に無効な値 (現在ポップアップ メニューに表示されている項目の数を超える整数など) を指定すると失敗します。

CMFCPopupMenu::InsertSeparator

指定した位置にあるポップアップ メニューに区切り記号を挿入します。

int InsertSeparator(int iInsertAt = -1);

パラメーター

iInsertAt
[in]このメソッドが区切り記号を挿入する位置の 0 から始まるインデックス。

戻り値

区切り記号が挿入された位置の 0 から始まるインデックス。 このメソッドが失敗した場合は -1。

解説

iInsertAt の値 -1 は、このメソッドがポップアップ メニューの末尾に区切り記号を追加することを意味します。

iInsertAt が無効な値の場合、このメソッドは失敗します。

CMFCPopupMenu::IsAlwaysClose

virtual BOOL IsAlwaysClose() const;

戻り値

解説

CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry

static BOOL __stdcall IsAlwaysShowEmptyToolsEntry();

戻り値

解説

CMFCPopupMenu::IsCustomizePane

ポップアップ メニューが QuickCustomizePane として機能しているかどうかを示します。

BOOL IsCustomizePane();

戻り値

ポップアップが QuckCustomizePane の場合は TRUE、それ以外の場合は FALSE。

解説

QuickCustomizePaneを使用して、ユーザーがポップアップ メニューを直接カスタマイズできるようにします。 QuickCustomizePane は、ユーザーがツール バー ボタンをクリックして直接編集したときに表示されるCMFCPopupMenuです。

アプリケーションでは、 CMDIFrameWndEx::OnShowCustomizePane 中にこのメソッドを呼び出す必要があります。

CMFCPopupMenu::IsEscClose

BOOL IsEscClose();

戻り値

解説

CMFCPopupMenu::IsIdle

ポップアップ メニューが現在アイドル状態かどうかを示します。

virtual BOOL IsIdle() const;

戻り値

ポップアップ メニューがアイドル モードの場合は TRUE。それ以外の場合は FALSE。

解説

既定では、表示アニメーションが完了し、ユーザーがポップアップ メニューをスクロールしていない場合、ポップアップ メニューはアイドル モードになります。

CMFCPopupMenu::IsMenuSound

static UINT __stdcall IsMenuSound();

戻り値

解説

CMFCPopupMenu::IsQuickCustomize

関連付けられている CMFCToolBarMenuButton クラス が QuickCustomize モードであるかどうかを判断します。

BOOL IsQuickCustomize();

戻り値

関連付けられているメニュー ボタンが QuickCustomize モードの場合は TRUE。それ以外の場合は FALSE。 このメソッドは、ポップアップ メニューが CMFCToolBarMenuButtonに関連付けられていない場合にも FALSE を返します。

解説

QuickCustomize モードでは、ユーザーはツール バーのボタンを選択してボタンを直接カスタマイズします。

CMFCPopupMenu::IsResizeble

BOOL IsResizeble() const;

戻り値

解説

CMFCPopupMenu::IsRightAlign

メニューが右揃えか左揃えかを示します。

BOOL IsRightAlign() const;

戻り値

メニューが右揃えの場合は TRUE。メニューが左揃えの場合は FALSE。

解説

CMFCPopupMenu::SetRightAlign を使用してメニューの配置を設定できます。 既定では、ポップアップ メニューでは左揃えを使用します。

メニューの配置はグローバル設定ではなく、ポップアップ メニューによって異なる場合があります。

CMFCPopupMenu::IsScrollable

BOOL IsScrollable() const;

戻り値

解説

CMFCPopupMenu::IsSendMenuSelectMsg

ユーザーがポップアップ メニューからコマンドを選択したときに、フレームワークが親フレームに通知するかどうかを示します。

static BOOL IsSendMenuSelectMsg();

戻り値

フレームワークが親フレームに通知する場合は TRUE。それ以外の場合は FALSE。

解説

フレームワークは、使用したユーザーがメニュー コマンドを選択したときに、WM_MENUSELECT メッセージを送信して親フレームに通知します。

CMFCPopupMenu::IsShown

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

BOOL IsShown() const;

戻り値

ポップアップ メニューが表示されている場合は TRUE。それ以外の場合は FALSE。

CMFCPopupMenu::MoveTo

void MoveTo(const CPoint& pt);

パラメーター

[入力] pt

解説

CMFCPopupMenu::OnChangeHot

virtual void OnChangeHot(int nHot);

パラメーター

[入力] nHot

解説

CMFCPopupMenu::OnChooseItem

virtual void OnChooseItem(UINT uidCmdID);

パラメーター

[入力] uidCmdID

解説

CMFCPopupMenu::OnCmdMsg

virtual BOOL OnCmdMsg(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

パラメーター

[入力] nID
[入力] nCode
[入力] pExtra
[入力] pHandlerInfo

戻り値

解説

CMFCPopupMenu::P ostCommand

BOOL PostCommand(UINT uiCommandID);

パラメーター

[入力] uiCommandID

戻り値

解説

CMFCPopupMenu::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

パラメーター

[入力] pMsg

戻り値

解説

CMFCPopupMenu::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

パラメーター

[入力] bNotify

解説

CMFCPopupMenu::RemoveAllItems

ポップアップ メニューからすべての項目をクリアします。

void RemoveAllItems();

CMFCPopupMenu::RemoveItem

指定した項目をポップアップ メニューから削除します。

BOOL RemoveItem(int iIndex);

パラメーター

iIndex
[in]削除する項目の 0 から始まるインデックス。

戻り値

メソッドが成功した場合は TRUE。それ以外の場合は FALSE。

解説

このメソッドは、項目の削除の影響を受ける区切り記号を自動的に配置します。 フレームワークで区切り記号を再配置する方法の詳細については、「 CMFCToolBar::RemoveButtonを参照してください。

CMFCPopupMenu::SaveState

virtual void SaveState();

解説

CMFCPopupMenu::SetAnimationSpeed

ポップアップ メニューのアニメーション速度を設定します。

static void SetAnimationSpeed(UINT nElapse);

パラメーター

nElapse
[in]新しいアニメーション速度 (ミリ秒単位)。

解説

アニメーション速度はグローバル値であり、アプリケーション内のすべてのポップアップ メニューに影響します。 この値は、ポップアップ メニューのアニメーションが完了するまでにかかる時間を指定します。

既定では、このパラメーターは 30 ミリ秒に設定されています。 nElapse の有効な値の範囲は 0 から 200 です。

CMFCPopupMenu::SetAnimationType

このポップアップ メニューのアニメーションの種類を設定します。

static void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

パラメーター

type
[in]アニメーションの種類を指定する列挙データ型。

解説

type の有効な値の一覧については、CMFCPopupMenu::GetAnimationType を参照

CMFCPopupMenu::SetAutoDestroy

void SetAutoDestroy(BOOL bAutoDestroy = TRUE);

パラメーター

[in] bAutoDestroy

解説

CMFCPopupMenu::SetDefaultItem

ポップアップ メニューの既定のコマンドを設定します。

void SetDefaultItem(UINT uiCmd);

パラメーター

uiCmd
[in]新しい既定のコマンドのメニュー コマンド ID。

解説

ポップアップ メニューの既定のコマンドは、ポップアップ メニューが表示されたときに選択されるコマンドです。

CMFCPopupMenu::SetForceMenuFocus

ポップアップ メニューが表示されたときに、入力フォーカスがメニュー バーに戻ります。

static void SetForceMenuFocus(BOOL bValue);

パラメーター

bValue
[in]ポップアップ メニューが表示されたときに、フレームワークで入力フォーカスをメニュー バーに強制する場合は TRUE。 ポップアップ メニューでフォーカスを保持する場合は FALSE。

解説

このメソッドは、アプリケーション内のすべてのポップアップ メニューにグローバルなフラグを設定します。 既定では、この機能は有効になっていません。

CMFCPopupMenu::SetForceShadow

ポップアップ メニューがメイン フレームの外側に表示されるときに、フレームワークにメニュー シャドウを強制的に描画します。

static void SetForceShadow(BOOL bValue);

パラメーター

bValue
[in]フレームワークでメニュー シャドウを描画する場合は TRUE、それ以外の場合は FALSE。

解説

このメソッドを呼び出すと、アプリケーションでグローバル フラグが設定されます。 このフラグは、アプリケーション内のすべてのポップアップ メニューに影響します。

CMFCPopupMenu::SetMaxWidth

ポップアップ メニューの最大幅を設定します。

void SetMaxWidth(int iMaxWidth);

パラメーター

iMaxWidth
[in]ポップアップ メニューの最大幅 (ピクセル単位)。

解説

メニュー コマンドに関連付けられているテキストが最大幅に収まらない場合は、切り捨てられ、収まらない部分は 3 つのドットに置き換えられます。

CMFCPopupMenu::SetMessageWnd

void SetMessageWnd(CWnd* pMsgWnd);

パラメーター

[入力] pMsgWnd

解説

CMFCPopupMenu::SetParentRibbonElement

void SetParentRibbonElement(CMFCRibbonBaseElement* pElem);

パラメーター

[入力] pElem

解説

CMFCPopupMenu::SetQuickCustomizeType

void SetQuickCustomizeType(QUICK_CUSTOMIZE_TYPE Type);

パラメーター

[入力] 種類

解説

CMFCPopupMenu::SetQuickMode

void SetQuickMode();

解説

CMFCPopupMenu::SetRightAlign

ポップアップ メニューのメニューの配置を設定します。

void SetRightAlign(BOOL bRightAlign = TRUE);

パラメーター

bRightAlign
[in]メニューの配置を示すブール値。 TRUE は右揃えを示し、FALSE は左揃えを示します。

解説

既定では、すべてのポップアップ メニューが左揃えになっています。

CMFCPopupMenu::SetSendMenuSelectMsg

ユーザーがコマンドを選択したときにポップアップ メニューが親フレームに通知するかどうかを制御するフラグを設定します。

static void SetSendMenuSelectMsg(BOOL bSet = TRUE);

パラメーター

bSet
[in]ポップアップ メニューが親フレームに通知する場合は TRUE、それ以外の場合は FALSE。

解説

これは、アプリケーション内のすべてのポップアップ メニューのグローバル オプションです。 有効になっている場合、ユーザーがコマンドを選択すると、ポップアップ メニューから親フレームにWM_MENUSELECT メッセージが送信されます。

CMFCPopupMenu::ShowAllCommands

すべてのコマンドをポップアップ メニューに強制的に表示します。

void ShowAllCommands();

解説

これはグローバル設定ではなく、現在のポップアップ メニューにのみ影響します。

CMFCPopupMenu::TriggerResize

void TriggerResize();

解説

CMFCPopupMenu::UpdateAllShadows

開いているすべてのポップアップ メニューの影を更新します。

static void UpdateAllShadows(LPRECT lprectScreen = NULL);

パラメーター

lprectScreen
[in]更新する領域を画面座標で指定する四角形。

解説

このメソッドは、アニメーション化されたコントロールまたは動的コンテンツを持つその他のウィンドウにポップアップ メニューが表示される場合に便利です。

CMFCPopupMenu::UpdateShadow

ポップアップ メニューの影を更新します。

void UpdateShadow(LPRECT lprectScreen = NULL);

パラメーター

lprectScreen
[in]更新する領域の境界を指定する四角形 (画面座標)。

解説

影が付いたポップアップ メニューがアニメーション画像と重なる場合は、このメソッドを呼び出します。

関連項目

階層図
クラス
CMFCPopupMenuBar クラス