システムボタンがクリックされた際に呼ばれるユーザー定義関数を定義します。
GUISetOnEvent ( specialID, "function" [, winhandle] )
パラメータ
specialID | 下記の特別ID表を参照。 |
function | 呼ばれるユーザー関数の名前 |
winhandle | [オプション] GUICreateによって返されるウィンドウハンドル(デフォルトでは直前に使われたウィンドウ)。 |
返し値
成功 | 1を返します。 |
失敗 | 0を返します。 |
注意
OnEvent関数はGUIOnEventModeオプションが1に設定されている場合のみ呼ばれます。このモードの際はGUIGetMsgは使用されません。特別ID | コメント |
$GUI_EVENT_CLOSE | (定義したボタン、またはシステムメニューによって)ダイアログボックスが閉じられました。 |
$GUI_EVENT_MINIMIZE | ウィンドウタイトルバーのボタンによってダイアログボックスが最小化されました。 |
$GUI_EVENT_RESTORE | タスクバーアイコンのクリックによってダイアログボックスが元に戻されました。 |
$GUI_EVENT_MAXIMIZE | ウィンドウタイトルバーのボタンによってダイアログボックスが最大化されました。 |
$GUI_EVENT_MOUSEMOVE | マウスカーソルが動きました。 |
$GUI_EVENT_PRIMARYDOWN | マウス第1ボタンが押されました。 |
$GUI_EVENT_PRIMARYUP | マウス第1ボタンが離されました。 |
$GUI_EVENT_SECONDARYDOWN | マウス第2ボタンが押されました。 |
$GUI_EVENT_SECONDARYUP | マウス第2ボタンが離されました。 |
$GUI_EVENT_RESIZED | ダイアログボックスのサイズが変更されました。 |
$GUI_EVENT_DROPPED | ドラッグアンドドロップアクションがおこなわれました。@GUI_DRAGID、@GUI_DRAGFILE、@GUI_DROPIDを使用して関係するコントロールに対応するID/ファイルを取得できます。 |
関連
GUIOnEventMode (Option), GUIEventOptions (Option), GUICtrlSetOnEvent
例
#include <GUIConstantsEx.au3>
Opt('MustDeclareVars', 1)
Example()
Func Example()
Local $parent1, $ok1, $cancel1
Opt("GUICoordMode", 2)
Opt("GUIResizeMode", 1)
Opt("GUIOnEventMode", 1)
$parent1 = GUICreate("Parent1")
GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")
$ok1 = GUICtrlCreateButton("OK", 10, 30, 50)
GUICtrlSetOnEvent(-1, "OKPressed")
$cancel1 = GUICtrlCreateButton("Cancel", 0, -1)
GUICtrlSetOnEvent(-1, "CancelPressed")
GUISetState(@SW_SHOW)
; アイドリングするだけ
While 1
Sleep(10)
WEnd
EndFunc ;==>Example
Func OKPressed()
MsgBox(0, "OK Pressed", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle & " CtrlHandle=" & @GUI_CtrlHandle)
EndFunc ;==>OKPressed
Func CancelPressed()
MsgBox(0, "Cancel Pressed", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle & " CtrlHandle=" & @GUI_CtrlHandle)
EndFunc ;==>CancelPressed
Func SpecialEvents()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
MsgBox(0, "Close Pressed", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
Exit
Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
MsgBox(0, "Window Minimized", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
Case @GUI_CtrlId = $GUI_EVENT_RESTORE
MsgBox(0, "Window Restored", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
EndSelect
EndFunc ;==>SpecialEvents