AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Inhalt von TRichEdit ohne Verlust von DefAttributes kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalt von TRichEdit ohne Verlust von DefAttributes kopieren

Ein Thema von smart · begonnen am 16. Sep 2005 · letzter Beitrag vom 16. Sep 2005
 
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Inhalt von TRichEdit ohne Verlust von DefAttributes kopi

  Alt 16. Sep 2005, 11:39
Hallo Heike,

es gibt keinen so richtig einfachen Weg zum Kopieren von formatierten Texten zwischen zwei RichEdit controls. Ich verwende folgende Prozedur:

Delphi-Quellcode:
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;
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.

Nutzen kannst du es dann so:

Delphi-Quellcode:
begin
  RichEdit1.SelectAll;
  RichEdit2.SelectAll;
  RichCopy(RichEdit1, RichEdit2);
end;
Alternativ kann man den etwas traditionelleren Weg über das stream interface der rich edit controls gehen. nicoDE hat dazu etwas bei den Schweizern abgeladen.

Grüße vom marabu
Angehängte Dateien
Dateityp: zip rich_600.zip (8,2 KB, 41x aufgerufen)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz