TrackPopupMenu

指定された位置にショートカットメニューを表示し、項目の選択を追跡する。ショートカットメニューは画面上の任意の場所に表示できる。

TrackPopupMenu hMenu, uFlags, x, y, nReserved, hWnd, prcRect

hMenu : [intptr] 型: HMENU 表示するショートカットメニューへのハンドル。CreatePopupMenu で新しいショートカットメニューを作成するか、GetSubMenu で既存のメニュー項目に関連付けられたサブメニューへのハンドルを取得する。
uFlags : [int] 型: UINT 関数オプションを指定する 0 以上のフラグ。
x : [int] 型: int ショートカットメニューの水平位置(スクリーン座標)。
y : [int] 型: int ショートカットメニューの垂直位置(スクリーン座標)。
nReserved : [int] 型: int 予約済みで 0 を設定する。
hWnd : [intptr] 型: HWND ショートカットメニューを所有するウィンドウへのハンドル。このウィンドウがメニューからすべてのメッセージを受け取る。関数が戻るまで WM_COMMAND は受信しない。
prcRect : [var] 型: const RECT* 無視される。

(プラグイン / モジュール : user32.dll)

解説

指定された位置にショートカットメニューを表示し、項目の選択を追跡する。ショートカットメニューは画面上の任意の場所に表示できる。

[戻り値]
型: BOOL uFlags に TPM_RETURNCMD
を指定した場合、戻り値はユーザが選択した項目のメニュー項目識別子。ユーザが選択せずキャンセルした場合やエラー発生時は
0。TPM_RETURNCMD を指定しない場合、関数成功時は 0 以外、失敗時は 0。

[備考]
正しい水平配置フラグ(TPM_LEFTALIGN または TPM_RIGHTALIGN)や水平アニメーション方向フラグを決定するには
GetSystemMetrics を SM_MENUDROPALIGNMENT
で呼び出す。通知アイコンのコンテキストメニューを表示するには、TrackPopupMenu/TrackPopupMenuEx
を呼ぶ前に現在のウィンドウが前景ウィンドウである必要がある。

情報

プラグイン / モジュールuser32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_user32_gen2.hs