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/)
-   -   MouseOver bei RichEdit oder Memo (https://www.delphipraxis.net/53326-mouseover-bei-richedit-oder-memo.html)

kingflo 14. Sep 2005 09:54


MouseOver bei RichEdit oder Memo
 
Hallo zusammen....
Ich habe mal eine Frage.
Ich habe ein SynEdit Feld, und möchte ganz gerne einen MouseOver über den Text haben.
Und zwar soll dass ganze so aussehen, das erkannt wirde, auf welches wort der Cursor steht. Also irgendwie mit Leerzeichen prüfen oder so.

z.B wenn das der Text ist:

Code:
Hallo ich bin ein schlechter Text
und der Mousezeiger steht über einem Wort (z.B über Hallo) dann soll label1 die Caption des wortes haben:

Also label1.caption:='hallo';


weiß jemand wie ich sowas realisieren kann?

n0b0dy 14. Sep 2005 09:56

Re: MouseOver bei RichEdit oder Memo
 
da gibts beim Synedit was ganz schönes.

Synedit.WordAtCursor;

;)

EDIT:
geht aber nur, wenn das Synedit den Fokus hatte, also wenn der "Textcursor" irgendwo im Synedit ist. Vllt kannste daraus ja was basteln, wenn das unbedingt MouseOver sein soll..

Sharky 14. Sep 2005 10:05

Re: MouseOver bei RichEdit oder Memo
 
Zitat:

Zitat von n0b0dy
.. Vllt kannste daraus ja was basteln, wenn das unbedingt MouseOver sein soll..

Dafür gibt es das Ereigniss OnMouseCursor
Notwendig ist es die Unit SynEditTypes einzubinden.

Delphi-Quellcode:
procedure TForm1.SynEdit1MouseCursor(Sender: TObject;
  const aLineCharPos: TBufferCoord; var aCursor: TCursor);
begin
  Label1.Caption := SynEdit1.GetWordAtRowCol(aLineCharPos);
end;

mschaefer 14. Sep 2005 10:30

Re: MouseOver bei RichEdit oder Memo
 
Moin, moin,

nur mal zum Verständnis: Sprecht Ihr vom Mousezeiger oder dem Textcursor. Also letzlich läuft das doch darauf hinaus, das die Wörter unter dem Mousezeiger regelmäßig ermittelt werden muß wenn der Mousezeiger über dem Memo liegt und der Mousezeiger sagen wir 1 Sekunde nicht bewegt wurde.

1. Exisitert Mousefokus im Memo
2. Steht Mouse ruhig.
3. Welche Textposition ist die Mouseposition
4. Hole Text ander Textpostion (Hat Sharky für Synedit gelöst, aber auch für Uralt Memo machbar).


Grüße // Martin

kingflo 14. Sep 2005 11:28

Re: MouseOver bei RichEdit oder Memo
 
A cool danke dann versuche ich im MouseOver das ergibnis mit Synedit.WordAtCursor; zu bekommen das müsste dann ja gehen danke!

Sharky 14. Sep 2005 11:38

Re: MouseOver bei RichEdit oder Memo
 
Zitat:

Zitat von kingflo
A cool danke dann versuche ich im MouseOver das ergibnis mit Synedit.WordAtCursor; zu bekommen das müsste dann ja gehen danke!

Nur mal so als Frage: Warum nicht mit meinem Code? Der ist doch extra dafür im SynEdit vorhanden.

kingflo 14. Sep 2005 14:49

Re: MouseOver bei RichEdit oder Memo
 
Ohh...
Den hatte ich übersehen sorry. :pale:

Den habe ich aber jetzt genommen der geht super.

n0b0dy 14. Sep 2005 21:41

Re: MouseOver bei RichEdit oder Memo
 
habe soeben was gefunden.

Delphi-Quellcode:
Synedit.WordAtMouse;

das im OnMouseMove oder wie du willst und es klappt auch ;)


MfG

DP-Maintenance 15. Sep 2005 07:35

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Ist ja eigentlich eine VCL Frage ;-)


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