Textfeld

  • Hallöchen Leute!

    Ich suche einen Funktion in Autoit, die beim Start des Script quasi eine GUI anlegt die Vergleichbar ist mit einem Steuerelement Textfeld von MS Excel.
    Wenn ihr folgenden Schritten nachgeht, wisst ihr was ich meine: Extras > Makro > Visualbasix-Editor > Einfügen > UserForm > Steuerelement > Textfeld

    Das Steuerelement Textfeld soll einer Varibale zugeordnet werden, die sich ca. alle 10 Minuten verändert. Diese Variable soll dann wie gesagt, über das Textfeld dargestellt werden.
    Am besten ist es wenn sich dieses Textfeld in eine Ecke verschieben lassen würde bzw. dass es sich beim starten des Scripts einfach in die Ecke (oben links vom Bildschirm) reinsetzt.

    Sind zwar gleich superviele Fragen auf einmal, aber da ich bis jetzt nie mit GUI gearbeitet habe, bräuchte ich ein paar gute Ratschläge für meine obige Idee!

    Ich weiß auch, dass es euch nicht so gut gefällt, wenn Leute kommen und noch garkeine Ahnung haben, aber wie gesagt, mit GUI von autoit noch nie gearbeitet...

    Gruß Volumeman

    • Offizieller Beitrag

    In der Hilfe findest Du eigentlich alles, was Du benötigst.

    Aber ich will Dir mal ein paar Stichworte mitgeben:

    - GUICreate zum erstellen des Fensters

    - GUICtrlCreateList oder GUICtrlCreateInput oder GUICtrlCreateEdit für das Textfeld (je nachdem was Du vorhast)

    - GUICtrlSetData zum verändern des Inhalts

    Größe des Fenster, sowie die Position des Textfeldes lassen sich als Parameter bei dem jeweiligen Befehl mitgeben.

    Sieh Dir die Beispiele in der Hilfe an und experimentiere mit den Werten, das hilft Dir sicher weiter.

  • Dankeschööööön!

    Hat soweit schonmal alles funktioniert, auch mit dem Verschieben in die linke obere Ecke!

    Habe aber noch zwei Fragen dazu.

    $data = "Test"
    GUICreate("Es geht", 80, 80)
    GUICtrlCreateLabel($data, -1, -1)
    GUISetState()
    $h = WinGetHandle("Es geht", "")
    WinMove($h,"", 0, 0, 80, 80)

    Wie kann es denn so einrichten, dass das Fenster 1x gestartet wird (liegt also quasi vor der Schleife, ist ja logisch), aber dass Fenster dann angezeigt bleibt, und nicht wieder geschlossen wird? Ich mein mit der Sleep(2000) bleibt das Fenster ja 2 sek. auf, geht aber dann ja wieder zu. Jetzt soll das Fenster aber solange aufbleiben, bis das Script beendet wird! D.h. ich kann also nicht mit der Sleepfunktion arbeiten!?

    Wenn sich jetzt die Variable $date ="Test" jetzt verändert, wird diese dann automatisch aktualisiert oder bleibt sie dann auf dem alten Wert stehen???

    könnt ihr mir damit auch helfen???

    2 Mal editiert, zuletzt von Volumeman (18. Januar 2008 um 09:34)

    • Offizieller Beitrag

    Schau Dir mal dieses Beispiel an:

    [autoit]


    #include <GUIConstants.au3>

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

    GUICreate("Es geht", 80, 80, 0, 0)
    $data = GUICtrlCreateLabel('Test', 5, 5, 70, 40)
    GUISetState (@SW_SHOW)

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

    Sleep(3000)

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

    GUICtrlSetData($data, 'Hier steht jetzt ein ganz anderer Text')

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

    [/autoit]