Bilder lassen sich nicht klicken

  • Hallo Leute,
    ich hab mit meiner neuen software ein Problem.
    Eigentlich sollte keiner davon erfahren, aber jetzt muss ich mal was fragen(ist nicht das erste mal zu diesem Projekt):

    Ich will ein Programm mit dem Namen "Arduino-Tools" erstellen. Wer Arduino kennt, weiß was es ist. Wer nicht, guckt hier nach.

    Nun will ich einen LCD-Charakter-Creator einbauen. Die GUI ist schon fertig. Nun habe ich das Problem,
    das wenn man auf ein weißen Kasten(5x8 Raster), der ein Pic ist klickt, passiert nichts. Ich habe es so versucht:

    [autoit]


    ;While Schleife...
    Case $b10000 ;<---Pic Variable
    MsgBox(0,"","") ;<-- Nur zum Test
    ;WEnd

    [/autoit]


    Das klappt nicht. Warscheinlich wird garnicht erkannt, wenn man auf das Bild klickt.
    Wisst ihr woran das liegt?

    Skript unten als .zip Datei angehängt!

    MfG button421

    Edit: Bitte Dateien entpacken, da sonst die Bilder nicht auftauchen

  • Über das Bild werden andauernd neue Pic Controls gelegt ($b10000b, ..., $b10000h) dadurch klickt man nur auf das oberste, also zuletzt erstelle Control: $b10000h. Verhindern kannst du das mit

    [autoit]

    GUICtrlSetState($CtrlID, $GUI_DISABLE)

    [/autoit]
    • Offizieller Beitrag

    Ich frage mich warum ich die Arbeit gemacht habe um dein Script anzupassen?
    Dein Angehängtes Script benutz wieder absolut unsinnige Styles für die Bilder.
    Ausserdem sind wieder alle Bilder übereinander.

    Scheinbar bist du lernresistent oder wie soll ich das jetzt deuten?

  • so sieht es bei mir aus:
    [Blockierte Grafik: http://img850.imageshack.us/img850/4712/sosiehtsaus.jpg]
    By taxe410 at 2011-04-27

    und mein Skript:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <ListViewConstants.au3>
    ;----------------------------------HOME-------------------------------------------------------
    $homeform = GUICreate("Arduino Tools 1.2", 627, 443, 192, 124)
    $background = GUICtrlCreatePic(@ScriptDir&"\Images\computer_0014.jpg", 0, 0, 625, 441, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlSetState($background, $GUI_DISABLE)
    $was = GUICtrlCreateLabel("Was möchten sie tun?", 176, 24, 257, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $befehlsreferenz = GUICtrlCreateButton("Befehlsreferenz", 8, 136, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Zeigt eine Referenz aller Grundbefehle an")
    $lcdcharacter = GUICtrlCreateButton("LCD-Charakter-Creator", 10, 191, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Damit können sie einen LCD-Charakter selbst erstellen")
    $linktoarduino = GUICtrlCreateButton("Arduino-Homepage", 8, 248, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Blättern sie in vielen Schaltungsbildern!")
    $exit = GUICtrlCreateButton("Beenden", 400, 384, 217, 49, $WS_GROUP)
    $infohelp = GUICtrlCreateButton("Info/ Hilfe", 8, 384, 177, 49, $WS_GROUP)
    GUISetState(@SW_SHOW)
    ;----------------------------------------------------------------------------------------------
    ;--------------------------------BEFEHLSREFERENZ-----------------------------------------------
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $befehlsreferenzform = GUICreate("Arduino Tools - Befehlsreferenz", 627, 444, 192, 124)
    $background = GUICtrlCreatePic(@ScriptDir&"\Images\computer_0014.jpg", 0, 0, 625, 441, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlSetState($background, $GUI_DISABLE)
    $das1 = GUICtrlCreateLabel("Befehlsreferenz", 216, 24, 188, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $befehle = GUICtrlCreateListView("Befehl", 8, 64, 241, 369)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 237)
    $befehle_0 = GUICtrlCreateListViewItem("int", $befehle)
    $befehle_1 = GUICtrlCreateListViewItem("LiquidCrystal", $befehle)
    $befehle_2 = GUICtrlCreateListViewItem("void setup()", $befehle)
    $befehle_3 = GUICtrlCreateListViewItem("void loop()", $befehle)
    $befehle_4 = GUICtrlCreateListViewItem("tone", $befehle)
    $befehle_5 = GUICtrlCreateListViewItem("lcd.begin()", $befehle)
    $befehle_6 = GUICtrlCreateListViewItem("lcd.setCursor()", $befehle)
    $befehle_7 = GUICtrlCreateListViewItem("lcd.print()", $befehle)
    $befehle_8 = GUICtrlCreateListViewItem("lcd.noBlink()", $befehle)
    $befehle_9 = GUICtrlCreateListViewItem("lcd.noCursor", $befehle)
    $befehle_10 = GUICtrlCreateListViewItem("digitalWrite()", $befehle)
    $befehle_11 = GUICtrlCreateListViewItem("delay()", $befehle)
    $befehle_12 = GUICtrlCreateListViewItem("pinMode()", $befehle)
    $befehle_13 = GUICtrlCreateListViewItem("Serial.begin()", $befehle)
    $befehle_14 = GUICtrlCreateListViewItem("Serial.print()", $befehle)
    $referenz = GUICtrlCreateEdit("", 280, 64, 337, 369)
    GUICtrlSetData(-1, "<---- Bitte links Befehl auswählen!")
    $cls1 = GUICtrlCreateButton("Beenden", 536, 0, 89, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)
    #EndRegion ### END Koda GUI section ###
    ;----------------------------------------------------------------------------------------------
    ;-------------------------------LCD-CHARAKTER-CREATOR------------------------------------------
    $lcdcharcreator = GUICreate("Arduino Tools - LCD-Charakter-Creator", 627, 442, 192, 124)
    $background = GUICtrlCreatePic(@ScriptDir&"\Images\computer_0014.jpg", 0, 0, 625, 441,$SS_NOTIFY)
    GUICtrlSetState($background, $GUI_DISABLE)
    $das2 = GUICtrlCreateLabel("LCD-Charakter-Creator", 176, 16, 272, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $b10000 = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 80, 33, 33)
    ;~ GUICtrlSetState($b10000, $GUI_DISABLE)
    $b01000 = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 80, 33, 33)
    $b00100 = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 80, 33, 33)
    $b00010 = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 80, 33, 33)
    $b00001 = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 80, 33, 33)
    ;-
    $b10000b = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 120, 33, 33)
    $b01000b = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 120, 33, 33)
    $b00100b = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 120, 33, 33)
    $b00010b = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 120, 33, 33)
    $b00001b = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 120, 33, 33)
    ;-
    $b10000c = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 160, 33, 33)
    $b01000c = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 160, 33, 33)
    $b00100c = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 160, 33, 33)
    $b00010c = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 160, 33, 33)
    $b00001c = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 160, 33, 33)
    ;-
    $b10000d = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 200, 33, 33)
    $b01000d = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 200, 33, 33)
    $b00100d = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 200, 33, 33)
    $b00010d = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 200, 33, 33)
    $b00001d = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 200, 33, 33)
    ;-
    $b10000e = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 240, 33, 33)
    $b01000e = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 240, 33, 33)
    $b00100e = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 240, 33, 33)
    $b00010e = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 240, 33, 33)
    $b00001e = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 240, 33, 33)
    ;-
    $b10000f = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 280, 33, 33)
    $b01000f = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 280, 33, 33)
    $b00100f = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 280, 33, 33)
    $b00010f = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 280, 33, 33)
    $b00001f = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 280, 33, 33)
    ;-
    $b10000g = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 320, 33, 33)
    $b01000g = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 320, 33, 33)
    $b00100g = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 320, 33, 33)
    $b00010g = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 320, 33, 33)
    $b00001g = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 320, 33, 33)
    ;-
    $b10000h = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 360, 33, 33)
    $b01000h = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 360, 33, 33)
    $b00100h = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 360, 33, 33)
    $b00010h = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 360, 33, 33)
    $b00001h = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 360, 33, 33)
    ;-
    $cls2 = GUICtrlCreateButton("Beenden", 536, 0, 89, 25, $WS_GROUP)
    $script = GUICtrlCreateEdit("", 304, 80, 313, 353, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, StringFormat("#include <LiquidCrystal.h>\r\n\r\nLiquidCrystal lcd(12,11,10,5,4,3,2);\r\n\r\nbyte myChar[8] =\r\n{\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000\r\n};\r\n\r\nvoid setup()\r\n{\r\n lcd.createChar(0, myChar);\r\n lcd.begin(16,2);\r\n lcd.write(0);\r\n}\r\n\r\nvoid loop() {}"))
    GUISetState(@SW_HIDE)
    ;----------------------------------------------------------------------------------------------
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $befehlsreferenz
    GUISetState(@SW_SHOW, $befehlsreferenzform)
    Case $lcdcharacter
    GUISetState(@SW_SHOW, $lcdcharcreator)
    Case $cls1
    _clswindow()
    Case $cls2
    _clswindow()
    Case $linktoarduino
    ShellExecute("http://arduino.cc/")
    Case $infohelp
    MsgBox(64,"Info/Hilfe","Zuerst wählen sie ein Menüpunkt aus! Klicken sie auf ""Befehlsreferenz"" um eine vollständige Referenz für alle Grundbefehle zu erhalten! Klicken sie auf ""LCD-Charakter-Creator"", um einen eigenen LCD-Charakter zu erstellen. Der Quellcode wird rechts angezeigt."&@CRLF&""&@CRLF&"created by button421 on autoit.de!")
    Case $exit
    Exit
    Case $b10000
    ;~ $b10000 = GUICtrlCreatePic(@ScriptDir&"\Images\lcdactiv.bmp", 16, 80, 33, 33)
    MsgBox(0,"","")
    EndSwitch
    WEnd

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

    Func _clswindow()
    GUISetState(@SW_HIDE, $befehlsreferenzform)
    GUISetState(@SW_HIDE, $lcdcharcreator)
    EndFunc

    [/autoit]

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

    • Offizieller Beitrag
    Zitat von button421

    Was meinst du? Die sind bei mir nicht übereinander.


    Wenn du nach dem Startpost den Quellcode austauschst ist das schon klar.

    Zitat von button421

    Ineluki: sorry, hab eben die .zip Datei verändert. Probiere es nochmal!


    Du benutzt Variablen doppelt (siehe $background).
    Das Bild eines Pictures wird mit GUICtrlSetImage gewechselt und muß nicht neu erstellt werden.
    So funzt es:

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region - Timestamp
    ;2011-04-27 12:04:42
    #EndRegion

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

    ;----------------------------------HOME-------------------------------------------------------
    $homeform = GUICreate("Arduino Tools 1.2", 627, 443, 192, 124)
    $background1 = GUICtrlCreatePic(@ScriptDir&"\Images\computer_0014.jpg", 0, 0, 625, 441)
    GUICtrlSetState($background1, $GUI_DISABLE)
    $was = GUICtrlCreateLabel("Was möchten sie tun?", 176, 24, 257, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $befehlsreferenz = GUICtrlCreateButton("Befehlsreferenz", 8, 136, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Zeigt eine Referenz aller Grundbefehle an")
    $lcdcharacter = GUICtrlCreateButton("LCD-Charakter-Creator", 10, 191, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Damit können sie einen LCD-Charakter selbst erstellen")
    $linktoarduino = GUICtrlCreateButton("Arduino-Homepage", 8, 248, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Blättern sie in vielen Schaltungsbildern!")
    $exit = GUICtrlCreateButton("Beenden", 400, 384, 217, 49, $WS_GROUP)
    $infohelp = GUICtrlCreateButton("Info/ Hilfe", 8, 384, 177, 49, $WS_GROUP)
    GUISetState(@SW_SHOW)
    ;----------------------------------------------------------------------------------------------
    ;--------------------------------BEFEHLSREFERENZ-----------------------------------------------
    #Region ### START Koda GUI section ### Form=
    $befehlsreferenzform = GUICreate("Arduino Tools - Befehlsreferenz", 627, 444, 192, 124)
    $background = GUICtrlCreatePic(@ScriptDir&"\Images\computer_0014.jpg", 0, 0, 625, 441)
    GUICtrlSetState($background, $GUI_DISABLE)
    $das1 = GUICtrlCreateLabel("Befehlsreferenz", 216, 24, 188, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $befehle = GUICtrlCreateListView("Befehl", 8, 64, 241, 369)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 237)
    $befehle_0 = GUICtrlCreateListViewItem("int", $befehle)
    $befehle_1 = GUICtrlCreateListViewItem("LiquidCrystal", $befehle)
    $befehle_2 = GUICtrlCreateListViewItem("void setup()", $befehle)
    $befehle_3 = GUICtrlCreateListViewItem("void loop()", $befehle)
    $befehle_4 = GUICtrlCreateListViewItem("tone", $befehle)
    $befehle_5 = GUICtrlCreateListViewItem("lcd.begin()", $befehle)
    $befehle_6 = GUICtrlCreateListViewItem("lcd.setCursor()", $befehle)
    $befehle_7 = GUICtrlCreateListViewItem("lcd.print()", $befehle)
    $befehle_8 = GUICtrlCreateListViewItem("lcd.noBlink()", $befehle)
    $befehle_9 = GUICtrlCreateListViewItem("lcd.noCursor", $befehle)
    $befehle_10 = GUICtrlCreateListViewItem("digitalWrite()", $befehle)
    $befehle_11 = GUICtrlCreateListViewItem("delay()", $befehle)
    $befehle_12 = GUICtrlCreateListViewItem("pinMode()", $befehle)
    $befehle_13 = GUICtrlCreateListViewItem("Serial.begin()", $befehle)
    $befehle_14 = GUICtrlCreateListViewItem("Serial.print()", $befehle)
    $referenz = GUICtrlCreateEdit("", 280, 64, 337, 369)
    GUICtrlSetData(-1, "<---- Bitte links Befehl auswählen!")
    $cls1 = GUICtrlCreateButton("Beenden", 536, 0, 89, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)
    #EndRegion ### END Koda GUI section ###
    ;----------------------------------------------------------------------------------------------
    ;-------------------------------LCD-CHARAKTER-CREATOR------------------------------------------
    $lcdcharcreator = GUICreate("Arduino Tools - LCD-Charakter-Creator", 627, 442, 192, 124)
    $background2 = GUICtrlCreatePic(@ScriptDir&"\Images\computer_0014.jpg", 0, 0, 625, 441)
    GUICtrlSetState($background2, $GUI_DISABLE)
    $das2 = GUICtrlCreateLabel("LCD-Charakter-Creator", 176, 16, 272, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $b10000 = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 80, 33, 33)
    $b01000 = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 80, 33, 33)
    $b00100 = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 80, 33, 33)
    $b00010 = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 80, 33, 33)
    $b00001 = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 80, 33, 33)
    ;-
    $b10000b = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 120, 33, 33)
    $b01000b = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 120, 33, 33)
    $b00100b = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 120, 33, 33)
    $b00010b = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 120, 33, 33)
    $b00001b = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 120, 33, 33)
    ;-
    $b10000c = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 160, 33, 33)
    $b01000c = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 160, 33, 33)
    $b00100c = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 160, 33, 33)
    $b00010c = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 160, 33, 33)
    $b00001c = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 160, 33, 33)
    ;-
    $b10000d = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 200, 33, 33)
    $b01000d = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 200, 33, 33)
    $b00100d = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 200, 33, 33)
    $b00010d = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 200, 33, 33)
    $b00001d = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 200, 33, 33)
    ;-
    $b10000e = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 240, 33, 33)
    $b01000e = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 240, 33, 33)
    $b00100e = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 240, 33, 33)
    $b00010e = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 240, 33, 33)
    $b00001e = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 240, 33, 33)
    ;-
    $b10000f = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 280, 33, 33)
    $b01000f = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 280, 33, 33)
    $b00100f = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 280, 33, 33)
    $b00010f = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 280, 33, 33)
    $b00001f = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 280, 33, 33)
    ;-
    $b10000g = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 320, 33, 33)
    $b01000g = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 320, 33, 33)
    $b00100g = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 320, 33, 33)
    $b00010g = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 320, 33, 33)
    $b00001g = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 320, 33, 33)
    ;-
    $b10000h = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 16, 360, 33, 33)
    $b01000h = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 54, 360, 33, 33)
    $b00100h = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 95, 360, 33, 33)
    $b00010h = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 135, 360, 33, 33)
    $b00001h = GUICtrlCreatePic(@ScriptDir&"\Images\lcddeactiv.bmp", 175, 360, 33, 33)
    ;-
    $cls2 = GUICtrlCreateButton("Beenden", 536, 0, 89, 25, $WS_GROUP)
    $script = GUICtrlCreateEdit("", 304, 80, 313, 353, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, StringFormat("#include <LiquidCrystal.h>\r\n\r\nLiquidCrystal lcd(12,11,10,5,4,3,2);\r\n\r\nbyte myChar[8] =\r\n{\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000\r\n};\r\n\r\nvoid setup()\r\n{\r\n lcd.createChar(0, myChar);\r\n lcd.begin(16,2);\r\n lcd.write(0);\r\n}\r\n\r\nvoid loop() {}"))
    GUISetState(@SW_HIDE)
    ;----------------------------------------------------------------------------------------------
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $befehlsreferenz
    GUISetState(@SW_SHOW, $befehlsreferenzform)
    Case $lcdcharacter
    GUISetState(@SW_SHOW, $lcdcharcreator)
    Case $cls1
    _clswindow()
    Case $cls2
    _clswindow()
    Case $linktoarduino
    ShellExecute("http://arduino.cc/")
    Case $infohelp
    MsgBox(64,"Info/Hilfe","Zuerst wählen sie ein Menüpunkt aus! Klicken sie auf ""Befehlsreferenz"" um eine vollständige Referenz für alle Grundbefehle zu erhalten! Klicken sie auf ""LCD-Charakter-Creator"", um einen eigenen LCD-Charakter zu erstellen. Der Quellcode wird rechts angezeigt."&@CRLF&""&@CRLF&"created by button421 on autoit.de!")
    Case $exit
    Exit
    Case $b10000
    GUICtrlSetImage($b10000,@ScriptDir&"\Images\lcdactiv.bmp")
    EndSwitch
    WEnd

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

    Func _clswindow()
    GUISetState(@SW_HIDE, $befehlsreferenzform)
    GUISetState(@SW_HIDE, $lcdcharcreator)
    EndFunc

    [/autoit]

    Edit: Die Includes müssen nicht doppelt benutzt werden. Mal so nebenbei: Koda includiert sowieso nur Dreck. ^^
    Besorge dir mal Organice Includes, das findest du Links neben der SB unter Downloads ;)

    • Offizieller Beitrag

    Dein Script aus Post 7 wertet übrigens auch den klick auf das Picture aus, mal so nebenbei. :)

    Wenn du auf diese weise weiter schreibst, wird dein Script 2000 + Zeilen lang.
    Du solltest dich mal mit Arrays beshäftigen, das verkürzt den quellcode ungemein.

    Schau dir mal das Beispiel an:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    Opt('MustDeclareVars', 1)

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

    Global $iposX[10] = [5, 90, 175, 260, 345, 430, 515, 600, 685, 770]
    Global $iposY[4] = [10, 45, 80, 115]
    Global $hButton[40]
    Global $iNum = 0, $nMsg, $hBeenden
    Global $aButton[40] = ["Button 1", "Button 2", "Button 3", "Button 4", "Button 5", "Button 6", "Button 7", "Button 8", "Button 9", "Button 10", _
    "Button 11", "Button 12", "Button 13", "Button 14", "Button 15", "Button 16", "Button 17", "Button 18", "Button 19", "Button 20", _
    "Button 21", "Button 22", "Button 23", "Button 24", "Button 25", "Button 26", "Button 27", "Button 28", "Button 29", "Button 30", _
    "Button 31", "Button 32", "Button 33", "Button 34", "Button 35", "Button 36", "Button 37", "Button 38", "Button 39", "Button 40"]
    GUICreate("Testgui", 860, 220 - 1, -1)

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

    For $i = 0 To 3; Schleife für die Reihen
    For $j = 0 To 9;Schleife für Buttons in Reihe
    $iNum = ($i * 10) + $j
    $hButton[$iNum] = GUICtrlCreateButton($aButton[$iNum], $iposX[$j], $iposY[$i], 80, 30)
    Next
    Next
    $hBeenden = GUICtrlCreateButton("Beenden", 375, 170, 100, 30)

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

    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $hButton[0] To $hButton[39]
    Local $iTmp
    $iTmp = $nMsg - $hButton[0] + 1; Auswerten des gewählten Button +1 damit der 1. Button nicht 0 sondern 1 ist
    _FuncmitParametern($iTmp) ; aufruf der Function mit übergabe der Buttonnummer
    Case $GUI_EVENT_CLOSE, $hBeenden
    Exit
    EndSwitch
    WEnd

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

    Func _Button()
    Local $iTmp
    $iTmp = @GUI_CtrlId - $hButton[0] + 1; Auswerten des gewählten Button +1 damit der 1. Button nicht 0 sondern 1 ist
    _FuncmitParametern($iTmp) ; aufruf der Function mit übergabe der Buttonnummer
    EndFunc ;==>_Button

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

    Func _Ende()
    Exit
    EndFunc ;==>_Ende

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

    Func _FuncmitParametern($iPara)
    MsgBox(0, "Info", "Es wurde Button " & $iPara & " gedrückt")
    EndFunc ;==>_FuncmitParametern

    [/autoit]


    Das Beispiel funzt auch mit GUICtrlCreatePic, wenn du sie anstatt GUICtrlCreateButton verwendest
    Mit deiner Art zu coden, wäre das Script über 100 Zeilen lang.

  • Wisst ihr, wie ich es programmieren kann, dass wen man einmal auf einen Charakter klickt, dass der das grau ist(GUICTrlSetImage(...)), und wenn man nocheinmal draufklickt, dass er dann wieder weiß wird(Das alles mit Pics)?

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Kannst du ja mit dem Beispiel von Raupi weiter machen,
    Also bei

    [autoit]

    Func _FuncmitParametern($iPara)
    MsgBox(0, "Info", "Es wurde Button " & $iPara & " gedrückt")
    EndFunc ;==>_FuncmitParametern

    [/autoit]

    Nen bisschen mit

    [autoit]

    _GUICtrlButton_GetImage

    [/autoit]

    und

    [autoit]

    _GUICtrlButton_SetImage

    [/autoit]


    probieren

  • Hallo Button421,

    ich würde es so lösen:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <ListViewConstants.au3>
    ;----------------------------------HOME-------------------------------------------------------
    $hFrmHome = GUICreate("Arduino Tools 1.2", 627, 443, 192, 124)
    ;$background =
    GUICtrlCreatePic(@ScriptDir & "\Images\computer_0014.jpg", 0, 0, 625, 441, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUICtrlSetState(-1, $GUI_DISABLE)
    ;$was =
    GUICtrlCreateLabel("Was möchten sie tun?", 176, 24, 257, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $idBtnComandRef = GUICtrlCreateButton("&Befehlsreferenz", 8, 136, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Zeigt eine Referenz aller Grundbefehle an")
    $idBtnShowCharCreator = GUICtrlCreateButton("LCD-Charakter-&Creator", 10, 191, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Damit können sie einen LCD-Charakter selbst erstellen")
    $idBtnArduinoHP = GUICtrlCreateButton("Arduino-&Homepage", 8, 248, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Blättern sie in vielen Schaltungsbildern!")
    $idBtnInfoHelp = GUICtrlCreateButton("&Info/ Hilfe", 8, 384, 177, 49, $WS_GROUP)
    $idBtnExit = GUICtrlCreateButton("Be&enden", 400, 384, 217, 49, $WS_GROUP)
    GUISetState(@SW_SHOW)
    ;----------------------------------------------------------------------------------------------
    ;--------------------------------BEFEHLSREFERENZ-----------------------------------------------
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #region ### START Koda GUI section ### Form=
    $hFrmComandRef = GUICreate("Arduino Tools - Befehlsreferenz", 627, 444, 192, 124)
    ;$background =
    GUICtrlCreatePic(@ScriptDir & "\Images\computer_0014.jpg", 0, 0, 625, 441, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUICtrlSetState(-1, $GUI_DISABLE)
    ;$das1 =
    GUICtrlCreateLabel("Befehlsreferenz", 216, 24, 188, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $idLVComannds = GUICtrlCreateListView("Befehl", 8, 64, 241, 369)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 237)
    Global $idLVItemComand[15]
    $idLvItemComand[0] = GUICtrlCreateListViewItem("int", $idLVComannds)
    $idLvItemComand[1] = GUICtrlCreateListViewItem("LiquidCrystal", $idLVComannds)
    $idLvItemComand[2] = GUICtrlCreateListViewItem("void setup()", $idLVComannds)
    $idLvItemComand[3] = GUICtrlCreateListViewItem("void loop()", $idLVComannds)
    $idLvItemComand[4] = GUICtrlCreateListViewItem("tone", $idLVComannds)
    $idLvItemComand[5] = GUICtrlCreateListViewItem("lcd.begin()", $idLVComannds)
    $idLvItemComand[6] = GUICtrlCreateListViewItem("lcd.setCursor()", $idLVComannds)
    $idLvItemComand[7] = GUICtrlCreateListViewItem("lcd.print()", $idLVComannds)
    $idLvItemComand[8] = GUICtrlCreateListViewItem("lcd.noBlink()", $idLVComannds)
    $idLvItemComand[9] = GUICtrlCreateListViewItem("lcd.noCursor", $idLVComannds)
    $idLvItemComand[10] = GUICtrlCreateListViewItem("digitalWrite()", $idLVComannds)
    $idLvItemComand[11] = GUICtrlCreateListViewItem("delay()", $idLVComannds)
    $idLvItemComand[12] = GUICtrlCreateListViewItem("pinMode()", $idLVComannds)
    $idLvItemComand[13] = GUICtrlCreateListViewItem("Serial.begin()", $idLVComannds)
    $idLvItemComand[14] = GUICtrlCreateListViewItem("Serial.print()", $idLVComannds)
    $idEdtReference = GUICtrlCreateEdit("", 280, 64, 337, 369)
    GUICtrlSetData(-1, "<---- Bitte links Befehl auswählen!")
    $idBtnBackToHomeFromCCFromCF = GUICtrlCreateButton("&Zurück", 536, 0, 89, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)
    #endregion ### END Koda GUI section ###
    ;----------------------------------------------------------------------------------------------
    ;-------------------------------LCD-CHARAKTER-CREATOR------------------------------------------
    $hFrmCharCreator = GUICreate("Arduino Tools - LCD-Charakter-Creator", 627, 442, 192, 124)
    ;$background =
    GUICtrlCreatePic(@ScriptDir & "\Images\computer_0014.jpg", 0, 0, 625, 441, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUICtrlSetState(-1, $GUI_DISABLE)
    ;$das2 =
    GUICtrlCreateLabel("LCD-Charakter-Creator", 176, 16, 272, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    Global $aBit[5][8]
    Global $aBitPics[5][8]
    for $i = 0 to 4
    for $j = 0 to 7
    $aBitPics[$i][$j] = GUICtrlCreatePic(@ScriptDir & "\Images\lcddeactiv.bmp", 16+ $i*38, 80+$j*40, 33, 33)
    Next
    Next
    $idBtnBackToHomeFromCC = GUICtrlCreateButton("&Zurück", 536, 0, 89, 25, $WS_GROUP)
    $script = GUICtrlCreateEdit("", 304, 80, 313, 353, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, StringFormat("#include <LiquidCrystal.h>\r\n\r\nLiquidCrystal lcd(12,11,10,5,4,3,2);\r\n\r\nbyte myChar[8] =\r\n{\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000\r\n};\r\n\r\nvoid setup()\r\n{\r\n lcd.createChar(0, myChar);\r\n lcd.begin(16,2);\r\n lcd.write(0);\r\n}\r\n\r\nvoid loop() {}"))
    GUISetState(@SW_HIDE)
    ;----------------------------------------------------------------------------------------------
    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1] ;von welchem Fnster kommt die Message?
    Case $hFrmHome ;Message des Hauptfensters
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE, $idBtnExit
    Exit
    Case $idBtnShowCharCreator
    GUISetState(@SW_SHOW, $hFrmCharCreator)
    GUISetState(@SW_DISABLE, $hFrmHome)
    Case $idBtnComandRef
    GUISetState(@SW_SHOW, $hFrmComandRef)
    GUISetState(@SW_DISABLE, $hFrmHome)
    Case $idBtnArduinoHP
    ShellExecute("http://arduino.cc/")
    Case $idBtnInfoHelp
    MsgBox(64, "Info/Hilfe", "Zuerst wählen sie ein Menüpunkt aus! Klicken sie auf ""Befehlsreferenz"" um eine vollständige Referenz für alle Grundbefehle zu erhalten! Klicken sie auf ""LCD-Charakter-Creator"", um einen eigenen LCD-Charakter zu erstellen. Der Quellcode wird rechts angezeigt." & @CRLF & "" & @CRLF & "created by button421 on autoit.de!")
    EndSwitch
    Case $hFrmComandRef
    Switch $nMsg[0]
    Case $idBtnBackToHomeFromCCFromCF, $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $hFrmComandRef)
    GUISetState(@SW_ENABLE, $hFrmHome)
    WinActivate($hFrmHome)
    EndSwitch
    Case $hFrmCharCreator
    Switch $nMsg[0]
    Case $idBtnBackToHomeFromCC, $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $hFrmCharCreator)
    GUISetState(@SW_ENABLE, $hFrmHome)
    WinActivate($hFrmHome)
    Case $aBitPics[0][0] to $aBitPics[4][7]
    $id = $nMsg[0]-$aBitPics[0][0]
    $iRow = int($id/8)
    $iCol = mod($id,8)
    if $aBit[$iRow][$iCol] Then
    GUICtrlSetImage($aBitPics[$iRow][$iCol],@ScriptDir & "\Images\lcddeactiv.bmp")
    Else
    GUICtrlSetImage($aBitPics[$iRow][$iCol],@ScriptDir & "\Images\lcdactiv.bmp")
    EndIf
    $aBit[$iRow][$iCol] = not $aBit[$iRow][$iCol]
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]

    Ich habe gleichzeitig auf GuiGetMsg mit Extended-Parameter umgestellt, das solltest du dir also in der Hilfe durchlesen. Ausserdem die Befehle Int und Mod auch in der Hilfe nachlesen. Und da das ganze jetzt mit Array realisiert ist solltest du auch Literatr zu Arrays lesen z.B. das Array-Tut aus BugFix Signatur obwohl ich befürchte dass dies noch zu schwer für dich ist.
    Dass ich die Variablen zum Teil umbenannt hatte liegt daran dass es so (zumindest für mich) deutlich einfacher lesbar wird.

    Edit: Das Array aBit von 1 D auf 2 D umgestellt. Könnte im weiteren Projektverlauf nützlich sein.

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (27. April 2011 um 19:45)

    • Offizieller Beitrag

    Hier ein Beispiel, ist zwar nich viel anders als das von Autobert, aber ich hatte es sowieso schon fertig.

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region - Timestamp
    ;2011-04-27 16:05:10
    #EndRegion - Timestamp

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

    ;----------------------------------HOME-------------------------------------------------------
    $homeform = GUICreate("Arduino Tools 1.2", 627, 443, 192, 124)
    $background1 = GUICtrlCreatePic(@ScriptDir & "\Images\computer_0014.jpg", 0, 0, 625, 441)
    GUICtrlSetState($background1, $GUI_DISABLE)
    $was = GUICtrlCreateLabel("Was möchten sie tun?", 176, 24, 257, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $befehlsreferenz = GUICtrlCreateButton("Befehlsreferenz", 8, 136, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Zeigt eine Referenz aller Grundbefehle an")
    $lcdcharacter = GUICtrlCreateButton("LCD-Charakter-Creator", 10, 191, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Damit können sie einen LCD-Charakter selbst erstellen")
    $linktoarduino = GUICtrlCreateButton("Arduino-Homepage", 8, 248, 249, 41, $WS_GROUP)
    GUICtrlSetTip(-1, "Blättern sie in vielen Schaltungsbildern!")
    $exit = GUICtrlCreateButton("Beenden", 400, 384, 217, 49, $WS_GROUP)
    $infohelp = GUICtrlCreateButton("Info/ Hilfe", 8, 384, 177, 49, $WS_GROUP)
    GUISetState(@SW_SHOW)
    ;----------------------------------------------------------------------------------------------
    ;--------------------------------BEFEHLSREFERENZ-----------------------------------------------
    #region ### START Koda GUI section ### Form=
    $befehlsreferenzform = GUICreate("Arduino Tools - Befehlsreferenz", 627, 444, 192, 124)
    $background = GUICtrlCreatePic(@ScriptDir & "\Images\computer_0014.jpg", 0, 0, 625, 441)
    GUICtrlSetState($background, $GUI_DISABLE)
    $das1 = GUICtrlCreateLabel("Befehlsreferenz", 216, 24, 188, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $befehle = GUICtrlCreateListView("Befehl", 8, 64, 241, 369)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 237)
    $befehle_0 = GUICtrlCreateListViewItem("int", $befehle)
    $befehle_1 = GUICtrlCreateListViewItem("LiquidCrystal", $befehle)
    $befehle_2 = GUICtrlCreateListViewItem("void setup()", $befehle)
    $befehle_3 = GUICtrlCreateListViewItem("void loop()", $befehle)
    $befehle_4 = GUICtrlCreateListViewItem("tone", $befehle)
    $befehle_5 = GUICtrlCreateListViewItem("lcd.begin()", $befehle)
    $befehle_6 = GUICtrlCreateListViewItem("lcd.setCursor()", $befehle)
    $befehle_7 = GUICtrlCreateListViewItem("lcd.print()", $befehle)
    $befehle_8 = GUICtrlCreateListViewItem("lcd.noBlink()", $befehle)
    $befehle_9 = GUICtrlCreateListViewItem("lcd.noCursor", $befehle)
    $befehle_10 = GUICtrlCreateListViewItem("digitalWrite()", $befehle)
    $befehle_11 = GUICtrlCreateListViewItem("delay()", $befehle)
    $befehle_12 = GUICtrlCreateListViewItem("pinMode()", $befehle)
    $befehle_13 = GUICtrlCreateListViewItem("Serial.begin()", $befehle)
    $befehle_14 = GUICtrlCreateListViewItem("Serial.print()", $befehle)
    $referenz = GUICtrlCreateEdit("", 280, 64, 337, 369)
    GUICtrlSetData(-1, "<---- Bitte links Befehl auswählen!")
    $cls1 = GUICtrlCreateButton("Beenden", 536, 0, 89, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)
    #endregion ### END Koda GUI section ###
    ;----------------------------------------------------------------------------------------------
    ;-------------------------------LCD-CHARAKTER-CREATOR------------------------------------------
    $lcdcharcreator = GUICreate("Arduino Tools - LCD-Charakter-Creator", 627, 442, 192, 124)
    $background2 = GUICtrlCreatePic(@ScriptDir & "\Images\computer_0014.jpg", 0, 0, 625, 441)
    GUICtrlSetState($background2, $GUI_DISABLE)
    $das2 = GUICtrlCreateLabel("LCD-Charakter-Creator", 176, 16, 272, 33, $SS_SUNKEN)
    GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FF00)
    $DummyStart = GUICtrlCreateDummy(); Hilfscontrol
    Global $aPictureArray[40][2]
    For $i = 0 To 7 ; Schleife für Reihen
    $iYPos = 80 + $i * 40; Y Position für Pictures
    For $j = 0 To 4;Schleife für Pictures in Reihe
    $iCtrlIdx = $i * 5 + $j; Durchnummerieren der Arrayelemente von 0 bis 39. Wichtig!! ein Array beginnt immer bei 0 zu zählen
    $iXPos = 16 + $j * 38;X Position für die Pictures
    $aPictureArray[$iCtrlIdx][0] = GUICtrlCreatePic(@ScriptDir & "\Images\lcddeactiv.bmp", $iXPos, $iYPos, 33, 33); CtrlId des Pictures in Array schreiben
    $aPictureArray[$iCtrlIdx][1] = False; State des Pictures in Array schreiben, False für Picture nicht gewählt
    Next
    Next
    $DummyEnd = GUICtrlCreateDummy(); Hilfscontrol
    $cls2 = GUICtrlCreateButton("Beenden", 536, 0, 89, 25, $WS_GROUP)
    $script = GUICtrlCreateEdit("", 304, 80, 313, 353, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, StringFormat("#include <LiquidCrystal.h>\r\n\r\nLiquidCrystal lcd(12,11,10,5,4,3,2);\r\n\r\nbyte myChar[8] =\r\n{\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000,\r\n B00000\r\n};\r\n\r\nvoid setup()\r\n{\r\n lcd.createChar(0, myChar);\r\n lcd.begin(16,2);\r\n lcd.write(0);\r\n}\r\n\r\nvoid loop() {}"))
    GUISetState(@SW_HIDE)
    ;----------------------------------------------------------------------------------------------
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $befehlsreferenz
    GUISetState(@SW_SHOW, $befehlsreferenzform)
    Case $lcdcharacter
    GUISetState(@SW_SHOW, $lcdcharcreator)
    Case $cls1
    _clswindow()
    Case $cls2
    _clswindow()
    Case $linktoarduino
    ShellExecute("http://arduino.cc/")
    Case $infohelp
    MsgBox(64, "Info/Hilfe", "Zuerst wählen sie ein Menüpunkt aus! Klicken sie auf ""Befehlsreferenz"" um eine vollständige Referenz für alle Grundbefehle zu erhalten! Klicken sie auf ""LCD-Charakter-Creator"", um einen eigenen LCD-Charakter zu erstellen. Der Quellcode wird rechts angezeigt." & @CRLF & "" & @CRLF & "created by button421 on autoit.de!")
    Case $exit
    Exit
    Case $DummyStart To $DummyEnd
    $iMsgID = $nMsg - 1 - $DummyStart; Hier wird der Index des ermittelt für das Array
    If $aPictureArray[$iMsgID][1] = True Then; Picture ist als aktiviert gekennzeichnet
    GUICtrlSetImage($aPictureArray[$iMsgID][0], @ScriptDir & "\Images\lcddeactiv.bmp"); Inaktiv Bild zuweisen
    Else
    GUICtrlSetImage($aPictureArray[$iMsgID][0], @ScriptDir & "\Images\lcdactiv.bmp"); Aktivbild zuweisen
    EndIf
    $aPictureArray[$iMsgID][1] = Not $aPictureArray[$iMsgID][1] ; Wert der Varaiable umkeheren. Aus TRUE wird False und aus FALSE wird TRUE
    EndSwitch
    WEnd

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

    Func _clswindow()
    GUISetState(@SW_HIDE, $befehlsreferenzform)
    GUISetState(@SW_HIDE, $lcdcharcreator)
    EndFunc ;==>_clswindow

    [/autoit]

    Edit, ist doch anders als das Beispiel von Autobert. Hab mir nicht die Mühe gemacht und das ganze Script umgestellt.