![]() |
TRichEdit Standard-Formatierung restaurieren
Hallo,
ich habe ein TjvRichEdit, in dem der Benutzer Änderungen vornimmt und dabei natürlich auch die Formatierungen ändern kann. Bevor der Inhalt in eine Datenbank gespeichert wird, soll am Ende automatisch ein Text (mit Lines.Add) in der Standard-Formatierung (so wie designed) angefügt werden. Gibt es da einen Trick, die Standard-Einstellungen für Font etc. zu restauriern oder muss ich mir jede Einstellung z.B. im onCreate merken? Gruß Andreas |
Re: TRichEdit Standard-Formatierung restaurieren
|
Re: TRichEdit Standard-Formatierung restaurieren
Ein kleiner trick wäre
einfach den ParentFont neu zuweisen? |
Re: TRichEdit Standard-Formatierung restaurieren
Zitat:
|
Re: TRichEdit Standard-Formatierung restaurieren
Zitat:
ein Panel drunter, das RichEdit auf alClient und weise dem Panel die Font zu die du als Standard haben möchtest. Noch die Border/Bevels weg und das sit der Faulste weg der mir eingefallen ist *g* Amsonsten TFont beim onCreate merken und neu zuweisen. Aber ich möchte dir ja nicht den ganzen Spass an der Arbeit und am Denken nehmen :stupid: |
Re: TRichEdit Standard-Formatierung restaurieren
Zitat:
Zitat:
Zitat:
|
Re: TRichEdit Standard-Formatierung restaurieren
Hallo,
WordAttributes habe ich mal gerettet, und wieder zugewiese, hat aber nicht gefunzt. Das mit dem Font probier ich mal. Auf die harte Tour krieg ich das wohl schon hin. Aber vielleicht gibts ja nen Trick oder so. Ach ja, vielleicht das noch zur Info: Das RichEdit wird zum Editieren per SaveToStream/Load FromStream an einen Editor übergeben und nach dem Ändern zurückgeholt. Die Lines, die ich zufüge haben immer die Formatierung des letzten Zeichens. Gruß Andreas |
Re: TRichEdit Standard-Formatierung restaurieren
uppps Sorry s-off :oops:
hab nicht genau auf den Namen geschielt. Und ja es ist gefrickel da mir die Frage eigentlich schon etwas > :stupid: < vorkommt, aber egal wir haben alle mal mit was angefangen. Drum wollte ich es gleich so erklären das es jeder versteht. Oki? :gruebel: |
Re: TRichEdit Standard-Formatierung restaurieren
Zitat:
Zitat:
|
Re: TRichEdit Standard-Formatierung restaurieren
Hallo Andreas,
ich würde das so machen:
Delphi-Quellcode:
Oder habe ich etwas falsch verstanden?
begin
with RichEdit do begin SelStart := MaxInt; SelAttributes.Assign(DefAttributes); Lines.Add('One last line on DefAttributes!'); end; end; Grüße vom marabu |
Re: TRichEdit Standard-Formatierung restaurieren
Hallo,
ja genau, so habe ich mir das vorgestellt. Werde es heute nachmittag gleich mal probieren. Danke, Andreas |
Re: TRichEdit Standard-Formatierung restaurieren
Hallo,
ich kriegs nicht hin:
Delphi-Quellcode:
Was mache ich denn falsch?
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; Gruß Andreas |
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. |
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:
Freundliche Grüße
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; |
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 05:27 Uhr. |
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