![]() |
DBRichEdit in RichEdit
Hi,
wie kann ich den Text von einem DBRichEdit in ein RichEdit samt Formatierungen übernehmen? Ich habs versucht mit: var Stream: TMemoryStream; begin Stream:=TMemoryStream.Create; try RichEdit1.Lines.SaveToStream(Stream); Stream.Seek(soFromBeginning,0); RichEdit2.Lines.LoadFromStream(Stream); finally Stream.Free; end; hat leider nicht geklappt viele Grüße Stephan |
Moin Stephan,
vom Prinzip her klappt das so (getestet):
Delphi-Quellcode:
Es wird einfach mit Hilfe der zugehörigen Messages das Format des selektierten Textes und anschliessend der Text selber aus dem DBRichEdit ausgelesen, und dann auf das RichEdit übertragen.
var
cfWork : TCHARFORMAT; pResult : PChar; begin DBRichEdit1.Lines.Add('TEXT'); DBRichEdit1.SelectAll; cfWork.cbSize := SizeOf(cfWork); SendMessage(DBRichEdit1.Handle,EM_GETCHARFORMAT,SCF_SELECTION,lParam(@cfWork)); pResult := AllocMem(DBRichEdit1.SelLength); try SendMessage(DBRichEdit1.Handle,EM_GETSELTEXT,0,lParam(pResult)); RichEdit1.Lines.Clear; SendMessage(RichEdit1.Handle,WM_SETTEXT,0,lParam(pResult)); RichEdit1.SelectAll; SendMessage(RichEdit1.Handle,EM_SETCHARFORMAT,SCF_SELECTION,lParam(@cfWork)); finally FreeMem(pResult,DBRichEdit1.SelLength); end; DBRichEdit1.SelLength := 0; RichEdit1.SelLength := 0; end; Wichtig: Dieses Beispiel setzt voraus, dass der gesamte Text das gleiche Format hat, ggf. müsste also das Format Zeichenweise übertragen werden. Warum ein DBRichEdit beim Speichern nicht das Format mitspeichert weiss ich allerdings auch nicht. Gemäss der VCL Sourcen dürfte das eigentlich nicht sein, und ist doch so :shock: (wahrscheinlich hab' ich's übersehen) |
Hi,
hm, leider hab ich verschiedene Formate drin. Alles mögliche. Gibts eine Möglichkeit den Inhalt eines RichEdit mit Formatierun in ein TTable zu schreiben und auszulesen (ohne DBRichEdit)? viele Grüße Stephan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 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