GUICtrlSetBKColor - bei mehreren Labels ein ganz bestimmtes Label färben wie?

  • Hallo mitnander,

    ich melde mich hier auch mal wieder. Ich habe ein Problem mit dem ich gerade nicht wirklich weiterkomme, habe schon etliche Dinge Durchprobiert doch leider Funktioniert es nicht wie ich will.

    Es geht darum, Ich habe mehrere Labels ($Label1, $Label2, ...)

    ich will ein bestimmtes Label in einer If schleife färben, die Färbung Funktioniert, aber es wird nicht das gewünschte Label gefärbt sondern ein ganz anderes. hat jemand von euch eine Idee, wie ich ein bestimmtes Label in einer If schleife färbe???

    z.B.

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Test", 243, 206, 192, 124)
    $Label1 = GUICtrlCreateLabel("Label1", 24, 16, 36, 17)
    $Label2 = GUICtrlCreateLabel("Label2", 24, 40, 36, 17)
    $Label3 = GUICtrlCreateLabel("Label3", 24, 64, 36, 17)
    $Label4 = GUICtrlCreateLabel("Label4", 24, 96, 36, 17)
    $Label5 = GUICtrlCreateLabel("Label5", 24, 128, 36, 17)
    $Label6 = GUICtrlCreateLabel("Label6", 24, 160, 36, 17)
    $Button1 = GUICtrlCreateButton("Button1", 104, 96, 75, 25)
    $Input1 = GUICtrlCreateInput("Input1", 96, 40, 121, 21)
    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]

    Case $Button1
    _farbe()
    EndSwitch
    WEnd

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

    Func _farbe()
    $string = GUICtrlRead($Input1)
    If $string = "Farbe" Then
    ; Hier soll dann z.B. Label 3 "Grün" gefärbt werden
    Else
    ; Und hier dann des Label 3 "Rot" gefärbt werden
    EndIf
    EndFunc

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

    ; Bitte um Hilfe!!!!!!

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

    Danke schonmal im Vorraus...

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin

    Einmal editiert, zuletzt von Facemix (27. Oktober 2012 um 04:56)

  • Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    Local $aLabels[6], $i=-1

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

    #Region ### START Koda GUI section ### Form=; TÖTET es mit Feuer! ;) ~minx
    $Form1 = GUICreate("Test", 243, 206, 192, 124)
    For $y = 15 To 160 Step 25
    $i+=1
    $aLabels[$i] = GUICtrlCreateLabel("Label"&$i+1, 24, $y, 36, 17); Solche kurzen Vorgänge sind mit KODA nicht möglich ~minx
    Next
    $Button1 = GUICtrlCreateButton("Button1", 104, 96, 75, 25)
    $Input1 = GUICtrlCreateInput("Input1", 96, 40, 121, 21)
    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]

    Case $Button1
    If GUICtrlRead($Input1) == "Farbe" Then
    GUICtrlSetBkColor($aLabels[2], 0x00FF00)
    Else
    GUICtrlSetBkColor($aLabels[2], 0xFF0000)
    EndIf
    EndSwitch
    WEnd

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

    ;bla

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

    ; Eine Funktion brauchst du eigentlich nur, wenn du Events verwendest, was du auch solltest ;-). ~minx

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

    ; Bitte um Hilfe!!!!!!

    [/autoit]
  • wow ok dachte des ginge noch einfacher :D aber danke trotzdem :)

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin

  • irgendwie funktioniert das bei mir nicht gibt dauernd Syntax Error aus bei $i+=1 obwohl ich die variable dafür declariert habe will es nicht wirklich funktionieren habe ja schon 6 Labels habe alle labels auf dieses script umgewandelt aber wenn ich nun den Button zum ausführen klicke dann reagiert gar nichts mehr 8|

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin

  • Fehler selbst behoben, aber minx, ohne dein Script wär ich nicht auf die Lösung gekommen :) Danke dir :)

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin

  • Hi, hier noch eine weitere Lösung. 8)

    [autoit]


    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    ;#include <GUIConstantsEx.au3> ;$GUI_EVENT_CLOSE

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

    #region ### START Koda GUI section ### Form
    GUICreate("Test", 250, 200)
    $Label1 = GUICtrlCreateLabel("Label 1", 24, 16, 36, 17)
    $Label2 = GUICtrlCreateLabel("Label 2", 24, 40, 36, 17)
    $Label3 = GUICtrlCreateLabel("Label 3", 24, 64, 36, 17)
    GUICtrlSetBkColor(-1, 0xFF0000)
    $Label4 = GUICtrlCreateLabel("Label 4", 24, 96, 36, 17)
    $Label5 = GUICtrlCreateLabel("Label 5", 24, 128, 36, 17)
    $Label6 = GUICtrlCreateLabel("Label 6", 24, 160, 36, 17)
    $Button = GUICtrlCreateButton("Button", 104, 96, 75, 25)
    $Input = GUICtrlCreateInput("Input", 96, 40, 121, 21)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While True
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3 ;$GUI_EVENT_CLOSE
    ExitLoop
    Case $Button
    $string = GUICtrlRead($Input)
    Switch $string
    Case "Farbe"
    GUICtrlSetBkColor($Label3, 0x00FF00)
    Case Else
    GUICtrlSetBkColor($Label3, 0xFF0000)
    EndSwitch
    EndSwitch
    WEnd
    ; Ende

    [/autoit]
  • Ja das wäre auch eine Möglichkeit gewesen, aber ich habe jetzt einfach des so gemacht:

    [autoit]


    Local $Label3

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

    ; Und später in der ButtonFunktion Dieses eingegeben

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

    If $Input1 = "Farbe" Then
    GUICtrlSetBKColor($Label3, 0x00FF00)
    Else
    GUICtrlSetBKColor($Label3, 0xFF0000)
    End If

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

    Funktioniert jetzt einwandfrei genau wie ich es mir Vorgestellt hatte!! :) Aber danke für die Hilfe man lernt eben nie aus :)

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin