CContextMenuManager::ShowPopupMenu

更新 : 2007 年 11 月

指定されたショートカット メニューを表示します。

virtual BOOL ShowPopupMenu(
   UINT uiMenuResId,
   int x,
   int y,
   CWnd* pWndOwner,
   BOOL bOwnMessage = FALSE,
   BOOL bRightAlign = FALSE
);

virtual CMFCPopupMenu* ShowPopupMenu(
   HMENU hmenuPopup,
   int x,
   int y,
   CWnd* pWndOwner,
   BOOL bOwnMessage = FALSE,
   BOOL bAutoDestroy = TRUE,
   BOOL bRightAlign = FALSE
);

パラメータ

  • [入力] uiMenuResId
    表示するメニューのリソース ID。

  • [入力] x
    ショートカット メニューのクライアント座標での水平オフセット。

  • [入力] y
    ショートカット メニューのクライアント座標での垂直オフセット。

  • [入力] pWndOwner
    ショートカット メニューの親ウィンドウへのポインタ。

  • [入力] bOwnMessage
    メッセージのルーティング方法を示すブール値パラメータ。bOwnMessage が FALSE の場合は、標準の MFC ルーティングが使用されます。それ以外の場合は pWndOwner がメッセージを受信します。

  • [入力] hmenuPopup
    表示するメニューのハンドル。

  • [入力] bAutoDestroy
    メニューが自動的に破棄されるかどうかを示すブール値パラメータ。

  • [入力] bRightAlign
    メニュー項目の配置方法を示すブール値パラメータ。bRightAlign が TRUE の場合、メニューは右から左への読み取り順序で右揃えで表示されます。

戻り値

最初のメソッド オーバーロードは、メニューが正常に表示された場合は 0 以外を返します。それ以外の場合は 0 を返します。2 番目のメソッド オーバーロードは、ショートカット メニューが正常に表示された場合は CMFCPopupMenu へのポインタを返します。それ以外の場合は NULL を返します。

解説

このメソッドと CContextMenuManager::TrackPopupMenu メソッドは、両方ともショートカット メニューを表示するという点で似ています。ただし、TrackPopupMenu は、選択されたメニュー コマンドのインデックスを返します。

bAutoDestroy パラメータが FALSE の場合、メモリ リソースを解放するために、継承された DestroyMenu メソッドを手動で呼び出す必要があります。ShowPopupMenu の既定の実装は、bAutoDestroy パラメータを使用しません。これは、将来使用するため、または CContextMenuManager クラスから派生したカスタム クラスのために用意されています。

必要条件

ヘッダー : afxcontextmenumanager.h

参照

概念

MFC 階層図

参照

CContextMenuManager クラス

CContextMenuManager::TrackPopupMenu