Function Reference


GUISetAccelerators

Sets the accelerator table to be used in a GUI window.

GUISetAccelerators ( accelerators [, winhandle] )

Parameters

accelerators A 2 dimensional array holding the accelerator table (See remarks).
winhandle [optional] Windows handle as returned by GUICreate (default is the previously used window).

Return Value

Success: Returns 1.
Failure: Returns 0.

Remarks

The array passed to this function contains the hotkey and the control ID of the accelerator. The array must be defined as Dim $array[n][2] - where n is the number of accelerator keys to set:

$array[0][0] = Hotkey (in HotKeySet() format) of 1st accelerator
$array[0][1] = Control ID of the 1st accelerator, as returned by GUICtrlCreate...()
$array[1][0] = Hotkey of 2nd accelerator
$array[1][1] = Control ID of the 2nd accelerator
...
$array[n][0] = Hotkey of nth accelerator
$array[n][1] = Control ID of the nth accelerator

Passing this function a non-array will unset all accelerators for the given winhandle.

Related

GUICreate, HotKeySet

Example


; A simple custom messagebox that uses the MessageLoop mode

#include <GUIConstantsEx.au3>

GUICreate("Custom Msgbox", 210, 80)

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

; Set accelerators for Ctrl+y and Ctrl+n
Local $AccelKeys[2][2] = [["^y", $YesID],["^n", $NoID]]
GUISetAccelerators($AccelKeys)

GUISetState() ; display the GUI

Do
    Local $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