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 Mousewheel-/Keydown messages bei DBGrid und Scrollbox (https://www.delphipraxis.net/90475-mousewheel-keydown-messages-bei-dbgrid-und-scrollbox.html)

Geronimo 18. Apr 2007 07:57


Mousewheel-/Keydown messages bei DBGrid und Scrollbox
 
Hallo alle zusammen!

Nun habe ich auch mal 'was fürs Forum beizutragen. Und zwar habe ich folgendes Problem:
Ich benutze in einer Win32-Anwendung DBGrids in verschiedenen Forms. Da DBGrids merkwürdig
auf Mousewheel messages reagieren (markierte Zelle wird geändert, RecNo jedoch nicht), gibt
es einen entsprechenden Workaround z.B. bei den Schweizern, der darauf beruht, aus den
Mousewheel messages applikationsweit Keydown messages zu machen. Das funktioniert soweit bei
mir auch prima. Nun habe ich aber auch Controls (z.B. Scrollbox), die Mousewheel messages
vernünftig reagieren und reagieren sollen. Das heisst, wenn ein solches Control aktiv ist,
müssen die Mousewheel messages dort auch als solche ankommen und nicht als Keydown messages.
Meine Idee war jetzt, in der Funktion, die die Messages umwandelt, eine Abfrage/Bedingung ein-
zu bauen, die prüft, welches Control gerade des Focus hat.

Aber wie kann ich auf Applikationsebene herausfinden, welches Control gerade den Focus hat?

Wenn das nicht geht, müsste ich dauernd die Application.OnMessage zuweisen und dann wieder
entfernen. Das erscheint mir umständlich.

Alternative Vorschläge zur Lösung des Problems sind auch Willkommen.
Hat jemand eine Idee?

Mackhack 18. Apr 2007 08:19

Re: Mousewheel-/Keydown messages bei DBGrid und Scrollbox
 
Mit Delphi-Referenz durchsuchenActiveControl

Geronimo 18. Apr 2007 08:29

Re: Mousewheel-/Keydown messages bei DBGrid und Scrollbox
 
Hallo Mackhack,

danke für die schnelle Antwort.

ActiveControl ist schon eine gute Idee. Das ist jedoch eine Property von TForm.
Dann müsste man herausfinden, welches Form gerade aktiv ist!?

Mackhack 18. Apr 2007 08:50

Re: Mousewheel-/Keydown messages bei DBGrid und Scrollbox
 
Delphi-Referenz durchsuchenActiveForm :???:

Geronimo 18. Apr 2007 08:59

Re: Mousewheel-/Keydown messages bei DBGrid und Scrollbox
 
... super, das beantwortet alle meine Fragen.
ActiveForm habe ich in der Hilf leider nicht gefunden,
weil ich unter TApplication gesucht habe. ActiveForm
ist aber eine Property von TSreen.
Vielen Dank.

Mackhack 18. Apr 2007 09:03

Re: Mousewheel-/Keydown messages bei DBGrid und Scrollbox
 
Dafuer sind wir ja da!


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