Hallo Liebes Forum.
Ich wollte wissen ob es geht und wenn ja wie ich mit den Pfeiltasten meine GUI Buttons selectieren kann. (Andere auswählen)
Regards
Hallo Liebes Forum.
Ich wollte wissen ob es geht und wenn ja wie ich mit den Pfeiltasten meine GUI Buttons selectieren kann. (Andere auswählen)
Regards
HotKeySet
;und
GUICtrlSetState($CtrlID, $GUI_FOCUS)
Cool ![]()
Und wie mache ich es mit sagen wir mal als bsp. 6 Buttons und bei jeder Pfeiltaste nach oben soll der button dadrüber ausgewählt werden ?
Regards
Du musst dem Programm sagen was deiner Meinung nach "darüber" etc. ist ;). Ich würde die Koordinaten aller Buttons in der Nähe überprüfen, und den der am "darübersten" ist auswählen :D.
Bisschen kompliziert ![]()
Wenn man eine GUI mit Buttons erstellt, kann man den Focus normalerweise schon mit den Pfeiltasten (links, rechts) ändern ![]()
Das geht, aber manchmal will man eben nicht alle Controls auswählbar haben...
Du kannst dir mit zwei Dummycontrols helfen, einer vor und einer nach den auszuwählenden Controls (alle anderen Controls davor oder nachher erstellen)
z.B.:
[autoit]$cDummy1 = GUICtrlCreateDummy()
GUICtrlCreateButton("Button 1", 10, 10, 200, 20)
GUICtrlCreateButton("Button 2", 10, 40, 200, 20)
GUICtrlCreateButton("Button 3", 10, 70, 200, 20)
GUICtrlCreateButton("Button 4", 10, 100, 200, 20)
GUICtrlCreateButton("Button 5", 10, 130, 200, 20)
$cDummy2 = GUICtrlCreateDummy()
dann
[autoit]HotKeySet("{Up}", "_Select")
HotKeySet("{Down}", "_Select")
Func _Select()
Switch @HotKeyPressed
Case "{Up}"
$iSelect -= 1
Case "{Down}"
$iSelect += 1
EndSwitch
If $iSelect <= $cDummy1 Then $iSelect = $cDummy2 - 1
If $iSelect >= $cDummy2 Then $iSelect = $cDummy1 + 1
GUICtrlSetState($iSelect, $GUI_FOCUS)
EndFunc ;==>_Select
E