SET MENU ITEM SHORTCUT
SET MENU ITEM SHORTCUT ( menu ; menuItem ; itemKey ; modifiers {; process} )
引数 | 型 | 説明 | |
---|---|---|---|
menu | Integer, Text | → | メニュー番号またはメニュー参照 |
menuItem | Integer | → | メニュー項目番号 または -1: 最後に追加された項目 |
itemKey | Text, Integer | → | キーボードショートカットの文字またはキーボードショートカットの文字コード (古いシンタックス) |
modifiers | Integer | → | ショートカットに割り当てられたモディファイア (キーコードが渡された時は無視) |
process | Integer | → | プロセス参照番号 |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
SET MENU ITEM SHORTCUT コマンドは、あるメニュー項目に新しいショートカットを割り当てます。
メニュー項目はmenu および menuItem 引数を通して定義されます。menuItem 引数に-1を渡すことで、menu 引数のメニュー内に最後に追加された項目を指定することもできます。
itemKey 引数には、ショートカットキーを表す文字列を渡します。新しいショートカットは、デフォルトでCtrl (Windows) または Cmd (macOS) モディファイヤーを自動的に含みます。例えば、itemKey 引数に"U" を渡した場合、ショートカットはCtrl + U (Windows) または Cmd + U (macOS) に設定されます。
注: itemKey 引数に"[Fx]" 形式で文字列を渡すことでファンクションキー(Fキー)を指定することができます(例: "[F4]")。この場合、モディファイヤーキーは何もデフォルトでは追加されません。
modifiers 引数には、Shift キーなどの追加のモディファイヤーキーを渡すことができます。これを使用することで、Ctrl+Alt+Shift+Z (Windows) または Cmd+Option+Shift+Z (macOS) のようなショートカットを定義することができます。モディファイヤーキーを何も追加したくない場合には0 を渡します。以下の定数が利用可能です:
- Command key mask はCommand (macOS) または Ctrl (Windows) キーを指定
- Shift key mask はShift キーを指定
- Option key mask はOption (macOS) または Alt (Windows) キーを指定
複数のモディファイヤーキーを持ったショートカットを設定するには、これらの定数を組み合わせてください。
process 引数を省略した場合、SET MENU ITEM SHORTCUT はカレントプロセスにおけるメニューバーに対して適用されます。そうでない場合、このコマンドはprocess 引数に渡された参照番号を持つプロセスのメニューバーに対して適用されます。
注: menu 引数にMenuRef を渡した場合、process 引数は何も動作せず、無視されます。
互換性に関する注意
互換性上の理由から、このコマンドはitemKey 引数に文字コードを受け入れることもできます(旧シンタックス)。この場合、ショートカットは自動的にCtrl (Windows) または Cmd (macOS) をモディファイヤーキーとして含み、modifiers 引数に渡された値は考慮されません。
itemKey 引数に0(ゼロ) を渡した場合、すでにメニュー項目に割り当てられているショートカットが削除されます。
例題 1
"下線"メニュー項目に Ctrl+Shift+U (Windows) と Cmd+Shift+U (Mac OS) ショートカットを定義します:
SET MENU ITEM(menuRef;1;"Underline")
SET MENU ITEM SHORTCUT(menuRef;1;"U";Shift key mask)
例題 2
Ctrl+R (Windows) や Cmd+R (Mac OS) ショートカットを"再起動"メニュー項目に割り当てます:
INSERT MENU ITEM(FileMenu;-1;"Restart")
SET MENU ITEM SHORTCUT(FileMenu;-1;"R";Command key mask)
例題 3
"閉じる"メニュー項目にF4 のショートカットキーを定義します:
INSERT MENU ITEM(FileMenu;-1;"閉じる")
SET MENU ITEM SHORTCUT(FileMenu;-1;"[F4]";0)