Inhalt von WPRichText in WPRichTextLabel kopieren

  • Ich benutze in einem Designer ein WPRichTextLabel (wpLayNormal) um Texte anzuzeigen und ein WPRichText um sie zu bearbeiten.

    Das Label mit wplayNormal weil sonst transparent nicht funktioniert.

    Um den Text vom WPRichText ins Label zu kopieren verwende ich folgenden Code:

    Bei der Erzeugung wird folgendes initialisiert:

    Code
    WP.automatictextattr.BackgroundColor := clSilver;
    WP.automatictextattr.UseBackgroundColor := true;
    WL.RTFData.SpecialTextAttr[wpFieldTextObjects].BackgroundColor := clSilver;
    WL.RTFData.SpecialTextAttr[wpFieldTextObjects].UseBackgroundColor := true;

    Trotzdem werden die Felder im WPRichTextLabel nicht silbern hinterlegt.

    Was fehlt noch an Einstellungen?

    Ciao

    Stefan

    • Offizieller Beitrag

    wpFieldTextObjects sind die Text Objekte, nicht die merge felder.

    Ich würde das so machen:

    WPRichTextLabel1.RTFText.Assign(WPRichText1.Memo);

    WPRichTextLabel1.RTFText.Apply;

    WPRichTextLabel1.RTFData.SpecialTextAttr[ wpAutomaticText ].Assign( WPRichText1.AutomaticTextAttr );

    WPRichTextLabel1.RTFData.SpecialTextAttr [wpInsertpoints ].Assign( WPRichText1.InsertPointAttr );

    • Offizieller Beitrag

    So gehts auch:

    Code
    var sp : TWPSpecialCharacterAttrKind;
    begin
       WPRichTextLabel1.RTFText.Assign(WPRichText1.Memo);
       WPRichTextLabel1.RTFText.Apply;
       for sp := wpHiddenText to wpFieldTextObjects do
       WPRichTextLabel1.RTFData.SpecialTextAttr[sp].Assign( WPRichText1.RTFData.SpecialTextAttr[sp] );
    end;

    Oder mit WPTools 9.1

    Code
    WPRichTextLabel1.Assign(WPRichText1)