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/)
-   -   Focus wechsel on MouseMove (https://www.delphipraxis.net/154932-focus-wechsel-mousemove.html)

TheProfi 1. Okt 2010 08:25

Focus wechsel on MouseMove
 
Hi zusammen,

ich möchte das der Focus von einen DBTreeGrid zum anderen "mitwandert". Der Vorteil ist, dass man sofort mit der Maus Scrollen kann ohne das man in das Control klickt. Da mit Multiselect schon Datensätze markiert sind, würde der NodeFocus neu gesetzt werden wenn man reinklickt und alle Markierten sind deselect.

Nun habe ich einfach mal gedacht, setz mal:

Delphi-Quellcode:
procedure TTMSForm_Main.DBTreeInfrastrukturMasterMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  if not DBTreeInfrastrukturMaster.IsFocused then DBTreeInfrastrukturMaster.SetFocus;
end;
Augenscheinlich geht es. Das Programm wühlt sich dennoch einen "Wolf". Man sieht das an einem leichten Flackern auf der selektierten Node. Debuggen wollte ich das Ereignis nicht :roll: . Wenn man im TreeGrid oben in der Zeile ein Dropdown (Bestandteil der Componente TcxDBTreeGrid) aufrufen will verschwindet es sofort wieder, da durch SetFocus, dass Control neu gesetzt wird.

Idee ist den Focus nur einmal zu setzen, wenn man mit der Maus über das Control fährt. Man könnte den Tag vom Control nehmen und manuell setzen...hmmm. Hat einer eine Idee.

Dank im voraus.

Georg

rapante 1. Okt 2010 10:33

AW: Focus wechsel on MouseMove
 
Würde es nicht reichen den Fokus in OnMouseEnter zu setzen?

TheProfi 1. Okt 2010 11:09

AW: Focus wechsel on MouseMove
 
[QUOTE=rapante;1053126]Würde es nicht reichen den Fokus in OnMouseEnter zu setzen?[/QUOTE

Werde es mal testen. Stimmt das Ereignis gibt es ja auch noch.


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