Einzelnen Beitrag anzeigen

Geronimo

Registriert seit: 19. Dez 2006
Ort: Hamburg
38 Beiträge
 
#1

Mousewheel-/Keydown messages bei DBGrid und Scrollbox

  Alt 18. Apr 2007, 08:57
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?
Die Welt ist rechteckig, linear und Gauss-verteilt!
  Mit Zitat antworten Zitat