Erstes Projekt... Anfängerfrage zum Ersetzen von Bildern innerhalb der GUI

  • Hallo zussamen.

    Ich habe ein Skript geschrieben, dass in den Windows Soundeinstellungen zwischen SPDIF und dem analogen Ausgang wechselt (und gleichzeitig das Häkchen für SPDIF in der Asus Software meiner Soundkarte aktiviert/deaktiviert). Bin das Skript gerade um mehrere Sachen am erweitern und würde gerne eine GUI dafür benutzen.

    Ich habe eine GUI erstellt. Die hat ein Button "Switch" und läd beim Starten jenachdem was aktiviert ist ein Bild mit einem Kopfhörer oder Verstärker:

    Spoiler anzeigen


    GUICreate("AudioPanel", 200, 200, 1000, 350)
    $ButtonSwitch = GUICtrlCreateButton ("Switch", 10, 10, 100, 20)
    Anzeige()

    GUISetState()
    while 1
    $msg = GUIGetMsg() ; Prüft Aktion in GUI

    Select
    case $msg = -3
    Exit
    case $msg = $ButtonSwitch
    Wechsel()


    EndSelect
    WEnd

    Für das Einlesen des Pics nutze ich die Funktion Anzeige:

    Func Anzeige()
    FileOpen("khampanzeige.txt",0) ;read mode
    $aktiv = FileRead("khampanzeige.txt")
    FileClose("khampanzeige.txt")

    If $aktiv = "kh" Then
    GUICtrlCreatePic("kopfhoerer.jpg", 150, 10, 40, 40)
    EndIf

    If $aktiv = "amp" Then
    GUICtrlCreatePic("amp.jpg", 150, 10, 40, 40)
    EndIf
    EndFunc

    Wenn ich nun den Switch-Button drücke würde ich gerne das Bild ersetzten. Wie mach ich das? Einfach ein neues Bild mit GUICreatePic drüber legen funktioniert nicht, dass landet im Hintergrund und GUIDelete funktioniert irgendwie nicht.

    Bin leider absoluter AutoIT Noob mit etwas c++ Kentnnissen...

    Einmal editiert, zuletzt von chrizZztian (16. Januar 2013 um 12:40)

  • Danke! :) Hat geklappt!

    Eine kleine Frage hät ich dazu aber doch noch. Wie bekomm ich am besten an die Control ID? Hab das mit dem Au3Info Tool gemacht. Problem: Als ich noch etwas weiter programmiert habe, hat die ID auf einmal nicht mehr funktioniert... Hat sich geändert gehabt. ;)

    Einmal editiert, zuletzt von chrizZztian (16. Januar 2013 um 13:09)