CMFCPopupMenu クラス
Windows のポップアップ メニュー機能を実装し、ティアオフ メニューやツールヒントなどの機能を追加することでそれを拡張します。 詳細については、Visual Studio のインストールの VC\atlmfc\src\mfc フォルダーにあるソース コードを参照してください。
構文
class CMFCPopupMenu : public CMiniFrameWnd
メンバー
保護されたコンストラクター
名前 | 説明 |
---|---|
CMFCPopupMenu::CMFCPopupMenu | CMFCPopupMenu オブジェクトを構築します。 |
パブリック メソッド
保護メソッド
名前 | 説明 |
---|---|
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();
継承階層
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;
戻り値
解説
CMFCPopupMenu::EnableMenuLogo
ポップアップ メニューのロゴを初期化します。
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]更新する領域の境界を指定する四角形 (画面座標)。
解説
影が付いたポップアップ メニューがアニメーション画像と重なる場合は、このメソッドを呼び出します。