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/)
-   -   Delphi TRichEdit/TDBRichEdit: Zeichen unter der Maus ermitteln? (https://www.delphipraxis.net/61651-trichedit-tdbrichedit-zeichen-unter-der-maus-ermitteln.html)

freejay 24. Jan 2006 14:47


TRichEdit/TDBRichEdit: Zeichen unter der Maus ermitteln?
 
Hallo,

weiss einer von Euch, wie ich an den Text unter dem Mauszeiger herankomme?

[Ich meine nicht die Eingabemarke (Caret) sondern die Mausposition (X,Y), die man z.B. bei MouseMove zur Verfügung hat!]

Die Position innerhalb des RichEdit.Text wäre mein Wunschwert (analog zu SelStart).

Kann mir da jemand weiterhelfen?

Danke!

freejay

marabu 24. Jan 2006 16:08

Re: TRichEdit/TDBRichEdit: Zeichen unter der Maus ermitteln?
 
Hi freejay,

schau mal hier:

Delphi-Quellcode:
procedure TDemoForm.RichEditMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  iLine, iOffset, iPos: Integer;
  p: TPointL;
begin
  with RichEdit do
  begin
    p.x := x;
    p.y := Y;
    iOffset := Perform(EM_CHARFROMPOS, 0, Integer(@p));
    iLine := Perform(EM_LINEFROMCHAR, iOffset, 0);
    iPos := iOffset - Perform(EM_LINEINDEX, iLine, 0);
    StatusBar.SimpleText := Format('x = %d   y = %d', [iPos, iLine]);
  end;
end;
Grüße vom marabu

freejay 25. Jan 2006 13:23

Re: TRichEdit/TDBRichEdit: Zeichen unter der Maus ermitteln?
 
Vielen Dank! Das hat mir sehr geholfen!

Mit solchen Messages habe ich in den letzten 15 Jahren nicht gearbeitet - da wär ich nie drauf gekommen...


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