Hotkeyset An Aus

  • Hallo,

    habe ein Problem mit meinen Hotkeys!

    Folgendes soll passieren wenn's endlich fertig ist....

    F1 blendet die Auswahl ein. Hilfe soll bereits markiert sein.
    Das Label Info soll den Eintrag anzeigen. Da komm ich nicht weiter...
    Kann man das per Index Nr. abragen? Also wenn die Listbox ziemlich voll ist...Eintrag 10...

    Dann soll bei erneutem drücken der F1 Taste (wenn die Auswahl getroffen wurde)
    die Listbox ausgeschaltet werden, sodaß man im Info Label sieht was gewählt wurde!

    Hier mal mein Code

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $List1 = GUICtrlCreateList("", 432, 16, 185, 376)
    GUICtrlSetData(-1, "Hilfe|Start")
    GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    HotKeySet("{ESC}", "Terminate")
    ;HotKeySet("{F1}", "Hilfe")
    Global $Paused
    HotKeySet("{F1}", "TogglePause")
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Terminate()
    If Guictrlread($List1) = "Hilfe" Then
    MsgBox(0,"Ende","Das Programm wird beendet")
    else
    Exit 0
    endif
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    GUICtrlSetState(-1, $GUI_Show)
    ToolTip('Script ist pausiert',0,0)
    WEnd
    ToolTip("")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]

    Würde mich freuen, wenn das klappt.

    Liebe Grüße
    :( Ilse

    Einmal editiert, zuletzt von Ilse (23. März 2012 um 11:20)

  • Hallo xXxProGamerxXx,

    mußte gestern wieder los...
    ja, den Link kenne ich bin aber nicht weitergekommen.

    Das würde mir schon helfen
    Also, F1 blendet Liste ein und erneut F1 blendet Liste aus...
    Meine If Versuche in der Funktion
    haben mich nicht weitergebracht!

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $List1 = GUICtrlCreateList("", 432, 16, 185, 376)
    GUICtrlSetData(-1, "Hilfe|Start")
    GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Info = GUICtrlCreateLabel("Info", 16, 376, 57, 41)
    GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    HotKeySet("{ESC}", "Terminate")
    HotKeySet("{F1}", "Info")
    While 1

    [/autoit] [autoit][/autoit] [autoit]

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Terminate()

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"Ende","Das Programm wird beendet")
    exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Info()
    GUICtrlSetState($List1, $GUI_Show)
    ;if...

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]

    Key...Schaltet den Hotkey aus
    aber wie kann ich das als Ein und Ausschalter verwenden?

    Grüße
    Ilse

    Einmal editiert, zuletzt von Ilse (23. März 2012 um 10:32)

  • Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    Global $ShowLV = False

    [/autoit] [autoit][/autoit] [autoit]

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $List1 = GUICtrlCreateList("", 432, 16, 185, 376)
    GUICtrlSetData(-1, "Hilfe|Start")
    GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Info = GUICtrlCreateLabel("Info", 16, 376, 57, 41)
    GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    HotKeySet("{ESC}", "Terminate")
    HotKeySet("{F1}", "Info")
    While 1

    [/autoit] [autoit][/autoit] [autoit]

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Terminate()

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"Ende","Das Programm wird beendet")
    exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Info()
    If $ShowLV Then
    GUICtrlSetState($List1, $GUI_HIDE)
    $ShowLV = False
    Else
    GUICtrlSetState($List1, $GUI_SHOW)
    $ShowLV = True
    EndIf
    EndFunc

    [/autoit]

    Gruß Marvin

  • Guten Morgen Marvin,

    genau so...

    mal eine Frage...
    If $ShowLV Then

    wieso kommt da nichts dahinter?
    ich meine If $ShowLV = ???
    was wird da geprüft?

    Das andere ist klar...

    ?( Ilse

  • [autoit]


    If $StateLV = True Then
    If $StateLV Then ; diese Zeile prüft auch auf "True" nur ohne es dahinter zu schreiben beide Zeilen machen also das selbe.

    [/autoit]