Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TRichEdit Standard-Formatierung restaurieren (https://www.delphipraxis.net/98568-trichedit-standard-formatierung-restaurieren.html)

Andreas H. 29. Aug 2007 11:15

Re: TRichEdit Standard-Formatierung restaurieren
 
Hallo,

ja genau, so habe ich mir das vorgestellt. Werde es heute nachmittag gleich mal probieren.

Danke, Andreas

Andreas H. 29. Aug 2007 15:19

Re: TRichEdit Standard-Formatierung restaurieren
 
Hallo,

ich kriegs nicht hin:

Delphi-Quellcode:
procedure TNewMessageForm.FormCreate(Sender: TObject);
begin
  // Design-Einstellungen retten
  FDefAttributes:=TjvTextAttributes.Create(RTFEdit,atDefaultText);
  FDefAttributes.assign(RTFEdit.DefAttributes);
end;

procedure TNewMessageForm.doSendMsg(ReciepNames:TStringList);
var
  i:integer;
  DocList,ReciepList:TIntegerList;
begin
  try
    // Einstellungen restaurieren
    RTFEdit.SelStart := MaxInt;
    RTFEdit.SelAttributes.Assign(FDefAttributes);

    // ggf. Verteiler anfügen
    if CBVerteiler.Checked then
    begin
      // Verteiler anfügen
      RTFEdit.Lines.Add(' ');
      RTFEdit.Lines.Add('------------------------');
      RTFEdit.Lines.Add('Verteiler:');
      for i:=0 to ReciepNames.Count-1 do
        RTFEdit.Lines.Add('   '+ReciepNames.Strings[i]);
    end;
...
end;
Was mache ich denn falsch?

Gruß Andreas

defede 29. Aug 2007 15:25

Re: TRichEdit Standard-Formatierung restaurieren
 
Ich würde dir empfehlen den Text erst einzufügen und dann die Selektion darauf und dann
erst die Formatierung drauflegen. Ich denk du machst es einfach zu früh.

marabu 29. Aug 2007 16:56

Re: TRichEdit Standard-Formatierung restaurieren
 
Hallo Andreas,

du machst nichts falsch, aber du machst etwas ganz anderes als ich. Das Verhalten bei Lines.Add() ist etwas schwer zu verstehen. Darüber hinaus verhalten sich TRichEdit und TJvRichEdit nicht gleich, weshalb ich SelText verwende. Das kannst du auch:

Delphi-Quellcode:
function FooterText(recipients: TStrings): string;
var
  i: Integer;
begin
  with TStringList.Create do
  try
    Add('');
    Add('---');
    Add('Verteiler:');
    for i := 0 to Pred(recipients.Count) do
      Add('   ' + recipients[i]);
    Result := Text;
  finally
    Free;
  end;
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
var
  recips: TStrings;
begin
  recips := TStringList.Create;
  with recips do
  begin
    Add('Andreas');
    Add('defede');
    Add('marabu');
  end;

  with RtfEdit do
  begin
    SelStart := MaxInt;
    SelAttributes.Assign(DefAttributes);
    SelText := FooterText(recips);
  end;

  recips.Free;
end;
Freundliche Grüße

Andreas H. 29. Aug 2007 17:56

Re: TRichEdit Standard-Formatierung restaurieren
 
Hallo,

danke, so geht es.

Und ich hab mal wieder etwas über die Funktionsweise von Komponenten gelernt.

Gruß Andreas


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:30 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz