GUICtrlSetColor Problem

  • Hallo zusammen!

    Ich habe eine Funktion:

    Die soll in einem Editfield Fehlermeldungen und Hinweise ausgeben. Bei einer Fehlermeldung soll sie den Text in rot ausgeben, ansonsten in schwarz. Leider funktioniert das nicht so, wie ich es mir vorgestellt habe. Das EditField steht auf "Readonly". Liegt es an Readonly, oder muss ich einen Refresh auf meine GUI machen? Wenn ja, wie mache ich das vernünftig, oder muss ich das komplette GUI mit @SW_SHOW einfach neu aufbauen?

    VG

  • Bei einer Fehlermeldung soll sie den Text in rot ausgeben, ansonsten in schwarz.

    Und warum färbst du dann erst Rot und anschließend sofort wieder Schwarz??

    AutoIt
          GUICtrlSetColor( $idEditField, $COLOR_RED )
          GUICtrlSetData( $idEditField, $sValue & @CRLF & $sString )
          GUICtrlSetColor( $idEditField, $COLOR_BLACK )

    Der Befehl gilt für den gesamten Inhalt des Controls!

    Falls du nur teilweise färben möchtest, musst du ein RichEdit verwenden - aber das ist nicht die leichteste Kost.

  • Da wirst du ein RichEdit brauchen

  • Danke an alle!

    Ich denke die Vermutung von BugFix passt und das zweite SetColor gehört ins else

    Danke, das hat jetzt zumindest mit der Farbe funktioniert. Leider färbt es halt das komplette Edit-Field.

    Ich dachte, ich könnte die Farbe pro Zeile einstellen, darum erst auf Rot, dann Zeile ausgeben und sofort wieder auf Schwarz.

    Einmal editiert, zuletzt von JBO (23. November 2021 um 10:24)