Function Reference

GUISetAccelerators

GUIウィンドウで使用されるアクセラレータの表を設定します。

GUISetAccelerators ( accelerators [, winhandle] )

 

パラメータ

accelerators アクセラレータの表を保持している2次元配列(注意を参照)
winhandle [オプション] GUICreateによって返されるウィンドウハンドル(デフォルトでは直前に使用されたウィンドウ)

 

返し値

成功 1を返します。
失敗 0を返します。

 

注意

この関数に渡す配列にはホットキーとアクセラレータのコントロールIDを格納します。
配列はDim $array[n][2]で定義される必要があります。nは設定するアクセラレータキーの数です:

$array[0][0] = 1番目のアクセラレータのホットキー(HotKeySet() でのフォーマット)
$array[0][1] = 1番目のアクセラレータのコントロールID。GUICtrlCreate...()によって返される。
$array[1][0] = 2番目のアクセラレータのホットキー
$array[1][1] = 2番目のアクセラレータのコントロールID
...
$array[n][0] = n番目のアクセラレータのホットキー
$array[n][1] = n番目のアクセラレータのコントロールID

この関数に配列以外を渡すと指定されたウィンドウハンドルの全てのアクセラレータを解除します。

 

関連

GUICreate, HotKeySet

 


; MessageLoopモードを使用する簡単な独自のメッセージボックス

#include <GUIConstantsEx.au3>

GUICreate("Custom Msgbox", 210, 80)

GUICtrlCreateLabel("Please click a button!", 10, 10)
$YesID = GUICtrlCreateButton("Yes", 10, 50, 50, 20)
$NoID = GUICtrlCreateButton("No", 80, 50, 50, 20)
$ExitID = GUICtrlCreateButton("Exit", 150, 50, 50, 20)

; Ctrl+y と Ctrl+n のアクセラレータを設定
Dim $AccelKeys[2][2]=[["^y", $YesID], ["^n", $NoID]]
GUISetAccelerators($AccelKeys)

GUISetState()  ; GUIを表示

Do
    $msg = GUIGetMsg()

    Select
        Case $msg = $YesID
            MsgBox(0, "You clicked on", "Yes")
        Case $msg = $NoID
            MsgBox(0, "You clicked on", "No")
        Case $msg = $ExitID
            MsgBox(0, "You clicked on", "Exit")
        Case $msg = $GUI_EVENT_CLOSE
            MsgBox(0, "You clicked on", "Close")
    EndSelect
Until $msg = $GUI_EVENT_CLOSE Or $msg = $ExitID