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