Einzelnen Beitrag anzeigen

Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#5

Re: Text aus RichEdit von fremder Anwendung mit Formatierung

  Alt 3. Jul 2005, 13:04
So,

hab das jetzt mal so gemacht, das Handle des RichEdit hab ich ja:

Delphi-Quellcode:
SendMessage(AHandle, EM_SETSEL, 0, -1);
SendMessage(AHandle, WM_COPY, 0, 0);
RichEdit1.PasteFromClipboard;
funktioniert auch ganz gut. Nur was ist wenn das RichEdit einen Inhalt jenseits der 64KB Grenze hat hab ich mir gedacht. Ein bisschen stöbern in der Windows SDK und nach ein bisserl Googlen bin ich auf EM_EXSETSEL gestossen. Wie es da so schön heißt:

Zitat:
In a rich edit control, if the selection is not entirely contained in the first 64K, use the message EM_EXSETSEL.
Jetzt hab ich folgendes versucht aber irgendwie klappt das nicht. Was mach ich da für nen Fehler? Ich will den gesamten Text kopieren. Laut Beschreibung müßte der gesamte Text selektiert werden wenn

Zitat:
If the cpMin and cpMax members are equal, the range is empty. The range includes everything if cpMin is 0 and cpMax is - 1.
Aber irgenwie passiert da gar nichts.

Hier der Programm-Code:

Delphi-Quellcode:
var
  CharRange: TCharRange;
begin
  CharRange.cpMin := 0;
  CharRange.cpMax := -1;
  SendMessage(AHandle, EM_EXSETSEL, 0, Longint(@CharRange));
  SendMessage(AHandle, WM_COPY, 0, 0);
  RichEdit1.PasteFromClipboard;
end;
Müßte doch gehen. Oder?
  Mit Zitat antworten Zitat