Wie Buttons zu weisen

  • Hi an alle
    hab schon ma hir im forum und im i-net gesucht nun wohl nich richtig verstanden nehm ich an !
    wollte ma ein pogram skrypten und hab mit dem koda form designer eine form erstellt
    in etwa so :

    [autoit]


    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 117, 143, 193, 125)
    $Button1 = GUICtrlCreateButton("Button1", 16, 40, 89, 25, 0)
    $Button2 = GUICtrlCreateButton("Button2", 16, 72, 89, 25, 0)
    $Button3 = GUICtrlCreateButton("Button3", 16, 104, 89, 25, 0)
    $Test = GUICtrlCreateLabel("Test", 40, 16, 31, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

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

    EndSwitch
    WEnd

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


    so mein problem war es jetz wen ich ein butten getrückt hatte funktionierten die anderen nicht mehr :?:
    ich benuze immer den befehl : case
    ist der falsch für so was ?und eine fage nebenbei ! wie kann ich checkbox und radiobutten benuzen ? also wie funktionirt das ?

    5 Mal editiert, zuletzt von FunH@cker (15. April 2009 um 14:09)

  • Guck dir mal die Option Opt("GuiOnEventMode",1) an und die dazu gehörigen Funktionen GuiCtrlSetOnEvent/ bzw GuiSetOnEvent..

  • du kannst aber auch erstmal bei der While-Schleife bleiben und jeden Button so abfragen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 117, 143, 193, 125)
    $Button1 = GUICtrlCreateButton("Button1", 16, 40, 89, 25, 0)
    $Button2 = GUICtrlCreateButton("Button2", 16, 72, 89, 25, 0)
    $Button3 = GUICtrlCreateButton("Button3", 16, 104, 89, 25, 0)
    $Test = GUICtrlCreateLabel("Test", 40, 16, 31, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    MsgBox(0, '', "Button1")
    Case $Button2
    MsgBox(0, '', "Button2")
    Case $Button3
    MsgBox(0, '', "Button3")
    EndSwitch
    WEnd

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • wen ich aber jetz stad eine msgbox eine while schleife reinsetze funktionirt das alles nich mehr !

  • Dasstimmt allerdings ^^

    [autoit]


    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 117, 143, 193, 125)
    $Button1 = GUICtrlCreateButton("Button1", 16, 40, 89, 25, 0)
    $Button2 = GUICtrlCreateButton("Button2", 16, 72, 89, 25, 0)
    $Button3 = GUICtrlCreateButton("Button3", 16, 104, 89, 25, 0)
    $Test = GUICtrlCreateLabel("Test", 40, 16, 31, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    while 3
    send ("y")
    wend
    Case $Button2
    MsgBox(0, '', "pausieren")
    sleep(9)
    Case $Button3
    MsgBox(0, '', "enden")
    exit
    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Und was geht da jetzt nicht?
    Ich denke mal du meinst, das wenn du den Ersten anklicks das die Anderen nicht mehr gehen oder?
    Das liegt daran das du die Button dann nicht mehr überprüfst, weil du eine While laufen lässt, dann muss du das entweder anders löschen mit der While oder du nimmst einfach OnEventMode

    mfg. Jam00

  • hmm dan muss ich wohl diese OnEventMode methode nehmen leider weis ich noch nicht wie ich sie einzusetzen soll daher könnte mir jemand ein beispliel geben oder ein link dazu wo es beschrieben ist :|
    Hab zwar schon n bissi rumgespielt und ausprobiert aber rausgekommen is leider nur error meldungen :S

  • Einen Link ? Wie wärs mit diesem ! GUIOnEventMode()

    Der soll schon einigen weitergeholfen haben, ist mir zu Ohren gekommen ;)

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • leider sind z.Zt. die Download's noch offline.
    Daher hier die Links zu allen (vorerst) notwendigen Info's.

    Hier gibt es Anleitungen, Tutorials und Hilfe:
    auf deutsch:
    AutoIt-Hilfe online/download | AutoIt- Tutorial

    auf englisch:
    Entwicklerseite | AutoIt-Forum | AutoIt-Debugger

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)