Announcement

Collapse
No announcement yet.

RichEdit behält format bei insert(0,...

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

  • RichEdit behält format bei insert(0,...

    Hallo,
    ein TRichEdit Feld nervt mich gerade. Eigentlich will ich Text formatiert an Zeile 1 einfügen sodass der bisherige Text nach untern wegläuft.
    Das Geht im Prinzip nur, wenn ich auf Button2 klicke d.h. wieder normalen Text einfügen will, bleibt der Text fett und rot formartiert.
    Im Beispiel wird bei rt_append==true & Button1 ein Text fett+rot angehängt. Bei Button2 wieder normal und schwarz, wie gewollt.

    Im Problemfall (rt_append==false) bleibt der Text fett+rot.

    Button1:
    RichEdit1->SelAttributes->Color = clRed;
    RichEdit1->SelAttributes->Style = TFontStyles() << fsBold;
    if (rt_append) {
    RichEdit1->Lines->Add("Text ist rot und fett.");
    } else {
    RichEdit1->Lines->Insert(0,"Text ist auch rot und fett.");
    }
    --------------------------------------------------------------------
    Button2:
    RichEdit1->SelAttributes->Color = clBlack;
    RichEdit1->SelAttributes->Style = TFontStyles();
    if (richedit1_append) {
    RichEdit1->Lines->Add("Text ist wieder normal+schwarz");
    } else {
    RichEdit1->Lines->Insert(0,"ABER DIESER DUMME TEXT WIRD BLEIBT FETT+ROT ver...schei..e!");
    }

    Warum? Wie kann man das lösen?

  • #2
    Salve,

    da machst Du einen riesen Denkfehler.

    Add fügt hinten ein -> Insert an die Stelle wo du möchtest.
    Wenn Du jetzt Farben vergibts, ist dies fest verankert.
    Macht sonst ja auch keinen sinn, da paint dies ändern würde.
    Hole den Text an dieser stelle raus
    AnsiString s = RichEdit->Lines->Strings[deine Zeile]
    lösche die Zeile an dieser Position
    ändere die Attribute
    füge diese zeile an dieser stelle wieder ein

    Übrigens, wenn du in word bei einer zeile die farbe änderst
    und dann dort einfügst, behält auch diese die farbe der vorgängerzeile
    Genauso ist es bei RichEdit


    gruß
    Fred

    Comment

    Working...
    X