Hi ![]()
Könnt ihr mir mal verraten, wie man einen $Button mit einem Hotkey wie z.B. F1 drücken kann?
LG =P
Hotkeyset und Variable $Button
-
- [ gelöst ]
-
Hen_xD -
7. September 2010 um 18:17 -
Geschlossen -
Erledigt
-
-
wie meinst du das genau?
möchtest du mit dem hotkey eine funktion aufrufen?
wenn ja schau dir mal HotKeySet
( "key" , "function")
anbsp:
[autoit]HotKeySet("{F4}", "_StarteFunktion")
[/autoit][autoit][/autoit][autoit]Func _StarteFunktion()
[/autoit]
MsgBox(0, "Key gedrückt", "Du hast F4 gedrückt")
Exit
EndFunc -
Ich möchte mit dem Hotkey einen Knopf, den ich mit dem Koda erstellt habe drücken...
das heißt, dass ich zB dann mit F1 "ok" oder "abbrechen" drück...
hoffentlich hast du es verstanden
-
Also einen Button zu drücken, ist komplizierter, als wenn du eine Funktion ausführen lässt, die entweder von dem Button oder von dem Hotkey gesetzt wird. Oder du machst folgendes:
Shortcut ist Strg + F1
[autoit]#include <ButtonConstants.au3>
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>$Test = GUICreate("Test", 514, 321, 192, 124)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$Button = GUICtrlCreateButton("Dein Button", 188, 124, 137, 73, $WS_GROUP)
GUISetState(@SW_SHOW)
Dim $Test_AccelTable[1][2] = [["^{F1}", $Button]]
GUISetAccelerators($Test_AccelTable)While 1
[/autoit][autoit][/autoit][autoit]Switch GUIGetMsg()
[/autoit][autoit][/autoit][autoit]
Case $GUI_EVENT_CLOSE
Exit
Case $Button
msgbox(0,"Test","Läuft ;)")EndSwitch
[/autoit]
WEndlg Tim
-
Dim $Test_AccelTable[1][2] = [["^{F1}", $Button]] GUISetAccelerators($Test_AccelTable)
Alles anzeigenAlso einen Button zu drücken, ist komplizierter, als wenn du eine Funktion ausführen lässt, die entweder von dem Button oder von dem Hotkey gesetzt wird. Oder du machst folgendes:
Shortcut ist Strg + F1
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>$Test = GUICreate("Test", 514, 321, 192, 124)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Button = GUICtrlCreateButton("Dein Button", 188, 124, 137, 73, $WS_GROUP)
GUISetState(@SW_SHOW)
Dim $Test_AccelTable[1][2] = [["^{F1}", $Button]]
GUISetAccelerators($Test_AccelTable)While 1
[/autoit] [autoit][/autoit] [autoit]Switch GUIGetMsg()
[/autoit] [autoit][/autoit] [autoit]
Case $GUI_EVENT_CLOSE
Exit
Case $Button
msgbox(0,"Test","Läuft ;)")EndSwitch
[/autoit]
WEndlg Tim
Okay...danke und wie mach ich es wenn ich mit mehreren Hotkeys (F1 - F10) mehrere Knöpfe drücken will($1 - $10)?
-
Ich würde sagen das es mit einer Funktion wirklich einfacher ((besser)) geht.
Finde ich persöhnlich

Edit: Meinst du jezt mit jedem key einen anderen button/funktion oder in kombination bestimmter keys einen button/funktion ?
-
Ich würde sagen das es mit einer Funktion wirklich einfacher ((besser)) geht.
Finde ich persöhnlich

Edit: Meinst du jezt mit jedem key einen anderen button/funktion oder in kombination bestimmter keys einen button/funktion ?
mit jedem key einen anderen Button ;=)
Also wenn ich F1 drück wird $1 gedrückt...usw
Wie würdest du es denn dann als funktion schreiben mit so vielen Keys und Buttons? -
[autoit]
HotKeySet("{F4}", "_StarteFunktion1")
[/autoit][autoit][/autoit][autoit]
HotKeySet("{F5}", "_StarteFunktion2")
HotKeySet("{F6}", "_StarteFunktion3")While 1
[/autoit][autoit][/autoit][autoit]WEnd
[/autoit][autoit][/autoit][autoit]Func _StarteFunktion1()
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "Key gedrückt", "Du hast F4 gedrückt")
Exit
EndFuncFunc _StarteFunktion2()
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "Key gedrückt", "Du hast F5 gedrückt")
Exit
EndFuncFunc _StarteFunktion3()
[/autoit][autoit][/autoit][autoit][/autoit]
MsgBox(0, "Key gedrückt", "Du hast F6 gedrückt")
Exit
EndFuncEdit: 3 Keys mit jeweils einer zugewiesenen Funktion
Edit2 : Ups hab die While Schleife vergessen

-
[autoit]Alles anzeigen
HotKeySet("{F4}", "_StarteFunktion1")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
HotKeySet("{F5}", "_StarteFunktion2")
HotKeySet("{F6}", "_StarteFunktion3")Func _StarteFunktion1()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "Key gedrückt", "Du hast F4 gedrückt")
Exit
EndFuncFunc _StarteFunktion2()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "Key gedrückt", "Du hast F5 gedrückt")
Exit
EndFuncFunc _StarteFunktion3()
[/autoit] [autoit][/autoit] [autoit][/autoit]
MsgBox(0, "Key gedrückt", "Du hast F6 gedrückt")
Exit
EndFuncEdit: 3 Keys mit jeweils einer zugewiesenen Funktion
Okay..Nur will ich keine MsgBox öffnen, sondern nen Button von der Form1 drücken...und das bekomme ich nicht hin

-
Zitat
Okay..Nur will ich keine MsgBox öffnen, sondern nen Button von der Form1 drücken...und das bekomme ich nicht hin

Wozu genau willst du die buttons drücken lassen?
Du musst einfach nur den AutoIt Code unter
[autoit]
[/autoit][autoit][/autoit][autoit]
[...]
Case $button1
; <--------- Diesen Code
[...]Func _StarteFunktion1()
[/autoit]
;<-------- Hier einfügen
EndFuncOder ich verstehe immernoch nicht den Sinn deines vorhabens...

-
Alles anzeigen
Wozu genau willst du die buttons drücken lassen?
Du musst einfach nur den AutoIt Code unter
[autoit]
[/autoit] [autoit][/autoit] [autoit]
[...]
Case $button1
; <--------- Diesen Code
[...]Func _StarteFunktion1()
[/autoit]
;<-------- Hier einfügen
EndFuncOder ich verstehe immernoch nicht den Sinn deines vorhabens...

Ich hab ne Form, in der ich wenn ich §button1 drücke einen sound abspiele...
dann wollte ich die ganze form mit @SW_HIDE verschwinden lassen und diesen $Button1 per Hotkey starten...
Ich möchte nämlich nicht immer auf die Form gehen und mit der maus auf den $Button1 klicken..;)
verstanden?

-
dann machs doch so wie ichs gesagt habe
nimm den code aus
[autoit]
[/autoit]
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $button1 ;<------- Dein Button
;Sound abspielen und/oder gui hide
EndSwitch
WEndDann machste daraus einfach:
[autoit]
[/autoit][autoit][/autoit][autoit]
HotKeySet("{F5}", "_play")While 1
[/autoit][autoit][/autoit][autoit]
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndFunc _play()
[/autoit]
;Sound abspielen
EndFuncMehr kann ich dir wahrscheinlich sonst nicht helfen
-
Hm Danke^^ ich werd nochn bissl dran rumbasteln
