Announcement

Collapse
No announcement yet.

Verschiedene Farben in einer Textzeile

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verschiedene Farben in einer Textzeile

    Hallo zusammen,

    ich möchte Strings in unterschiedlichen Farben in einer Zeile darstellen. Hat jemand eine Idee, welche Objekte ich dafür verwenden kann? Die Strings kommen von der seriellen Schnittstelle, und ich möchte die eingehenden und die abgehenden Daten in unterschiedlichen Farben in z.B. einer Memo-Box darstellen. Die Steuerzeichen, z.B. CR/LF , wandle ich in ein druckbares ASCII-Zeichen um und möchte diese in noch einer anderen Farbe darstellen.

    Vielen Dank für eure Hilfe!!

    Ralf

  • #2
    Versuchs mal mit dem TRichEdit statt TMemo
    Günther

    Comment


    • #3
      Hi,

      wie Günther schon sagt brauchst du ein RichEdit. Im Memo können keine Farben dargestellt werden.

      <pre>
      RichEdit1->SelAttributes->Color = clRed;
      RichEdit1->Lines->Add("Ich bin ein roter Text);
      RichEdit1->SelAttributes->Color = clBlue;
      RichEdit1->Lines->Add("Ich bin ein blauer Text);
      </pre>

      Mit der Eigenschaft SelAttributes kannst du also die Farbe bestimmen, mit die neuen Inhalte angezeigt werden.

      Anhand dieses Codes könnte du nun leicht deine Aufgabre erfüllen. Je nachdem ob der Text von der Seriellen Schnittstelle kommt oder nicht, änderst du vorher die Eigenschaft.

      Ciao Philip

      Comment


      • #4
        Hallo Günther,
        vielen Dank für die schnelle Antwort. Damit bin ich schon ein großes Stück weiter. Eine Frage hätte ich aber doch noch. Kann ich die Farbe des Textes innerhalb eines TStrings ändern (wahrscheinlich nicht), oder kann ich den Zeilenumbruch nach einen Lines->Add unterdrücken und so zwei TStrings in einer Zeile des RichEdit-Objekts anzeigen?

        Nochmals vielen Dank.

        Gruß
        Ral

        Comment


        • #5
          Hallo Ralf,

          in einem RichText-Editor kann man auch einzelne Wörter in einer Zeile andersfarbig darstellen.

          Ich <b>vermute</b> mal, Du mußt zuerst die komplette Textzeile hinzufügen und dann nachträglich mit SelStart und SelLength einen Bereich markieren und dann SelAttributes setzen.

          Gruß - Günthe
          Günther

          Comment


          • #6
            Hallo Philipp,

            auch an Dich ein großes Dankeschön. Ich bin nun einen großen Schritt weiter.

            Vielen Dank.

            Gruß

            Ral

            Comment

            Working...
            X