ポップアップ メニューは、画面上の任意の場所に表示できるカスタム右クリック メニュー(RCMenu) です。
構文は次のようになります。
PopupMenu <RCMenu> [pos:<Point2>] [rollout:<Rollout>] \
[align:<key>] applyUIScaling:<true>
このメソッドは、画面上の任意の場所でメニューをポップアップします。
<RCMenu>
: すべての RCMenu が定義されます。これは登録する必要はありません。
\[pos:<Point2>\]
: メニューがポップアップする場所はロールアウトまたは画面の近くです。(既定値: 現在のマウスの位置からポップアップ。)
\[rollout:<Rollout>\]
: これにより、メニューはロールアウトのローカル座標系からポップアップします。undefined を指定すると、メニューは画面の左上隅に相対的にポップアップします(既定値: undefined)。
\[align:<key>\]
: 次のいずれかです(既定値: #align_topleft
):
#align_topleft #align_topcenter #align_topright #align_bottomleft #align_bottomcenter #align_bottomright #align_vcenterleft #align_vcentercenter #align_vcenterright
applyUIScaling:<true>
: true の場合は、高 DPI ディスプレイの位置に UI スケールを適用します。 既定値は true です。
popupMenu()
評価のタイミングに影響を与えることがあります。外部の win32 関数が呼び出され、この関数は popupMenu()
が呼び出されたローカル スコープが終了した後に評価されます。つまり、popupMenu()
の後のコードが同じスコープ内にある場合、メニューが表示される前にこのコードが実行されることがあります。この動作を防ぐには、windows.processPostedMessages()
を popupMenu()
の直後に呼び出して、順番どおり実行されるように強制します。