Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TRichEdit - veim Verlassen auf den Anfang des Dokuments springen (https://www.delphipraxis.net/215965-trichedit-veim-verlassen-auf-den-anfang-des-dokuments-springen.html)

motion 3. Okt 2024 18:14

TRichEdit - veim Verlassen auf den Anfang des Dokuments springen
 
Hallo,
ich verwende unter Delphi 12.2 TRichedit zur Anzeige/Eingabe von freien Texten mit Formatierungen.
Nun kann die Eingabe/Anzeige länger als die Höhe der Komponente auf dem Formular sein. Kann man ja drin rumscrollen.
Aber wenn das Element verlassen wird (OnExit), dann soll wieder zum Anfang des RTF gesprungen werden.
Wie macht man das?
Der Komponente mit perform eine Message schicken? Ich habe etwas rumprobiert, aber leider kein Erfolg.

Vielen Dank

Kas Ob. 3. Okt 2024 18:45

AW: TRichEdit - veim Verlassen auf den Anfang des Dokuments springen
 
Hi,

This works for me,
Delphi-Quellcode:
const
  EM_GETSCROLLPOS = $04DD;
  EM_SETSCROLLPOS = $04DE;

procedure RichEditScrollToPoint(ARichEdit: TRichEdit; X, Y: Integer);
var
  Pos: TPoint;
begin
  Pos.X := X;
  Pos.Y := Y;
  //PostMessage(RichEdit1.Handle,EM_SETSCROLLPOS,wParam(0),lParam(@FPos)); // ONLY use PostMessage if Pos is on the heap (not local var) !!
  // or
  SendMessage(ARichEdit.Handle, EM_SETSCROLLPOS, wParam(0), lParam(@Pos));
end;

procedure TForm10.RichEdit1Exit(Sender: TObject);
begin
  RichEditScrollToPoint(RichEdit1, 0, 0);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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