![]() |
Re: Inhalt von TRichEdit ohne Verlust von DefAttributes kopi
Wenn ich es per Hand, mit kopieren und einfügen mache klappt es, aber sobald ich es mit:
Delphi-Quellcode:
klappt es nicht mehr.
RichEdit1.SelectAll;
RichEdit.CopyToClipboard; DBRichEdit1.PasteFromClipboard; |
Re: Inhalt von TRichEdit ohne Verlust von DefAttributes kopi
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Heike,
es gibt keinen so richtig einfachen Weg zum Kopieren von formatierten Texten zwischen zwei RichEdit controls. Ich verwende folgende Prozedur:
Delphi-Quellcode:
Das angehängte Archiv enthält eine bei SourceForge gehostete Delphi Portierung von RichOle.h und TOM habe ich mit TLIBIMP aus RICHED20.DLL erstellt. TOM habe ich als (unsichtbare) Komponente in Delphi installiert.
uses
TOM, RichEdit, RichOle; procedure RichCopy(reSource, reTarget: TRichEdit); var u: IUnknown; reoSource, reoTarget: IRichEditOle; tdSource, tdTarget: ITextDocument; trSource, trTarget: ITextRange; begin SendMessage(reSource.Handle, EM_GETOLEINTERFACE, 0, Integer(@u)); u.QueryInterface(IID_IRICHEDITOLE, reoSource); tdSource := reoSource as ITextDocument; SendMessage(reTarget.Handle, EM_GETOLEINTERFACE, 0, Integer(@u)); u.QueryInterface(IID_IRICHEDITOLE, reoTarget); tdTarget := reoTarget as ITextDocument; tdTarget.Selection.FormattedText := tdSource.Selection.FormattedText; end; Nutzen kannst du es dann so:
Delphi-Quellcode:
Alternativ kann man den etwas traditionelleren Weg über das stream interface der rich edit controls gehen. nicoDE hat dazu etwas bei den Schweizern abgeladen.
begin
RichEdit1.SelectAll; RichEdit2.SelectAll; RichCopy(RichEdit1, RichEdit2); end; Grüße vom marabu |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.
Ich habe es (auf anregung *g*) mal nach VCL verschoben. Hätte ich aber auch früher machen sollen. |
Re: Inhalt von TRichEdit ohne Verlust von DefAttributes kopi
|
Re: Inhalt von TRichEdit ohne Verlust von DefAttributes kopi
Hallo Heike,
Zitat:
Allerdings gehört die Zwischenablage dem Benutzer und darf eigentlich nur auf seinen speziellen Wunsch hin von deinem Programm befüllt werden. marabu @Flocke: Warum sorry? Deine Fundstellen sind doch auch einen Beitrag wert. Da aber alle streamen wollte ich mit dem Text Object Model eine Alternative zeigen. |
Re: Inhalt von TRichEdit ohne Verlust von DefAttributes kopi
Zitat:
Zitat:
Zitat:
Vielen Dank für Deine (Eure) Hilfe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 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 by Thomas Breitkreuz