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 MouseEnter in TDBGrid (https://www.delphipraxis.net/50371-mouseenter-tdbgrid.html)

Texas 24. Jul 2005 18:18


MouseEnter in TDBGrid
 
Wie kann ich ein MouseEnter oder Leave für eine TDBGrid umsetzen? Und zwar so das dieser immer ausgelöst wird wenn er eine Cell betritt bzw. verläst. Ich möchte in einer untergeordneten Tabelle mitblättern und brauche dazu ein neupositionierten in der Mastertabelle wenn die Mouse die Cell betritt ( ähnlich wie bei OnCellClick ) nur eben mit OnMouseEnter


danke schon mal
Michael

Sharky 25. Jul 2005 05:36

Re: MouseEnter in TDBGrid
 
Hai Texas,

anstelle des nachrüstens könntest Du auch einfach das Delphi-Referenz durchsuchenMouseMove des DBGrids nehmen und dann mit Delphi-Referenz durchsuchenMouseCoord die Zelle ermitteln über welcher der Cursor ist. :stupid:
Delphi-Quellcode:
var
  mousecell : TGridCoord;

procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  mousecell := DBGrid1.MouseCoord(x,y);
end;

Texas 25. Jul 2005 16:25

Re: MouseEnter in TDBGrid
 
Habe ich auch schon drann gedacht. Das Problem ist dabei nur das bei jeder bewegung der mouse die onmousemove ereignisse ständig neu aufgerufen werden. ich möchte aber nur ein mal in der untergeordneten tabelle suchen lassen. :roll:

Gruss Michael

Sharky 25. Jul 2005 18:10

Re: MouseEnter in TDBGrid
 
Hai Michael,

du brauchst Dir doch nur die letzte Zelle zu merken in der die Maus war. Wenn jetzt das MouseMove Ereigniss ausgelöst wird prüfst Du ob der Cursor über einen anderen Zelle ist und suchst nur dann in deiner abhängigen Tabelle.


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