OnCommand

WM_COMMANDメッセージで制御通知を受信したときに呼び出される関数やメソッドを登録します。

GuiCtrl.OnCommand(NotifyCode, Callback , AddRemove)

パラメータ

NotifyCode

型:整数

監視する制御定義の通知コード。

Callback

型:文字列または関数オブジェクト

イベントが発生したときに呼び出す関数、メソッド、またはオブジェクトを指定します。

GUIにイベントシンクがある場合(つまりGui()EventObjパラメータが指定されている場合)、このパラメータはイベントシンクに属するメソッドの名前であってもよい。それ以外の場合は、このパラメータは関数オブジェクトでなければならない。

The callback accepts one parameter and can be defined as follows:

MyCallback(GuiCtrl) { ...

Although the name you give the parameter does not matter, it is assigned the GuiControl object of the current GUI control.

You can omit the callback's parameter if the corresponding information is not needed, but in this case an asterisk must be specified, e.g. MyCallback(*).

OnEventの注意事項である、thisとバインドされた関数に関する注意事項は、OnCommandにも適用されます。

イベントに対して複数のコールバックが登録されている場合、コールバックは空でない値を返し、残りのコールバックが呼ばれないようにすることができます。

コールバックの戻り値は、GUIコントロールに無視されます。

AddRemove

型:整数

省略されたときは、初期値は 1 です。それ以外の場合は、次のいずれかの番号を指定してください:

WM_COMMAND

ある種のコントロールは、興味深いイベントが発生するたびにWM_COMMANDメッセージを送信します。新しいコントロールはWM_NOTIFYメッセージ(OnNotify参照)を使用するため、これらは通常、古くからあるWindows標準コントロールです。一般的に使用される通知コードはイベントに変換され、スクリプトはOnEventで監視することができます。

メッセージのパラメータには、コントロールID、HWND、通知コードが含まれ、AutoHotkeyはこれを使用して、適切なコールバックに通知をディスパッチします。追加のパラメータはありません。

どの通知が利用可能か(もしあれば)については、コントロールのマニュアルを参照してください。コントロールライブラリ (Microsoft Docs)には、Windowsのコモンコントロールへのリンクが含まれています(ただし、WM_COMMANDを使用するものはごく一部です)。通知コード(数字)は、Windows SDK、またはインターネットで検索して確認できます。

OnEventに関するこれらの注意は、OnCommandにも適用されます:スレッドGUIを破壊します。

OnNotifyは、WM_NOTIFYメッセージとして送信される通知に対して使用することができる。