Einzelnen Beitrag anzeigen

Benutzerbild von TheProfi
TheProfi

Registriert seit: 30. Mai 2005
Ort: Emden
42 Beiträge
 
Delphi 10.3 Rio
 
#1

Focus wechsel on MouseMove

  Alt 1. Okt 2010, 09:25
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 . 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
Georg Reimann
------------------------------------------------------
Sicher ist nur eines, dass nichts sicher ist...
  Mit Zitat antworten Zitat