AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid-Event wie OnMouseOver

Ein Thema von Minz · begonnen am 9. Aug 2005 · letzter Beitrag vom 9. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#1

DBGrid-Event wie OnMouseOver

  Alt 9. Aug 2005, 02:58
Hallo,

gibt es ein Event das ausgelöst wird, wenn die Maus über ein DBGrid fährt?

In dem Zusammenhang hab ich probiert das Event OnMouseWheel zu verwenden, dass zu TWinControl gehört. Da das DBGrid auch ein TWinControl ist (oder?) dachte ich, müsste es auch dieses Event kennen, tut es aber nicht. Wieso?

Gruß Minz
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: DBGrid-Event wie OnMouseOver

  Alt 9. Aug 2005, 09:04
Hallo Minz,

Maus-Bewegungen über einem DBGrid lösen das Ereignis OnMouseMove() aus.

Eine Wheel-Mouse kannst du zwar benutzen, aber das Verhalten dürfte nicht ganz deinen Erwartungen entsprechen - du kannst standardmäßig nur die Selektion im sichtbaren Bereich des Grid verschieben. Ein Korrekturansatz ist das Abfangen der MOUSEWHEEL Message im message handler deiner Application Komponente. Dazu findest du im Forum einen Beitrag.

Grüße vom marabu
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#3

Re: DBGrid-Event wie OnMouseOver

  Alt 9. Aug 2005, 13:26
Danke schonmal für die Antwort.

Dummerweise hab ich mich falsch ausgedrückt. Mit OnMouseMove hab ich es auch schon probiert, aber es hat nicht funktioniert. Ich meinte eigentlich eine Windows-Nachricht statt Event, die ich evtl. über WndProc verwenden kann.

Den Ansatz im Beitrag habe ich bereits ausprobiert, nur soll das ganze nicht nur dann funktionieren wenn das DBGrid aktiv ist, sondern dann, wenn der Mauszeiger über dem DBGrid ist, auch dann, wenn dieses nicht den fokus hat.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: DBGrid-Event wie OnMouseOver

  Alt 9. Aug 2005, 13:47
Was funktioniert denn mit OnMouseMove nicht? Dieses Ereignis macht dir auf einfache Weise eine Reaktion auf die zu Grunde liegende Windows Message möglich.

Für die unbedingte Verarbeitung der MouseWheel Nachrichten musst du doch im zitierten Code eigentlich nur die Prüfbedingung ändern bzw. wegnehmen.

marabu
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#5

Re: DBGrid-Event wie OnMouseOver

  Alt 9. Aug 2005, 13:52
soweit war ich auch schon. Wenn ich die Prüfbedingung wegnehme hat das zur Folge, dass das DBGrid immer bewegt wird, egal wo ich mich mit der Maus befinde. Ich möchte aber nur eine Aktion wenn ich mich mit der Maus über dem Grid befinde.

Deswegen kommen wir zur Änderung der Prüfbedingung. Ich habe also versucht herauszufinden, wann die Maus sich über dem Grid befindet. Das Problem mit OnMouseMove dabei ist, dass DBGrid dieses Event nicht kennt, im Gegensatz zu TForm. Das Event wird ausgelöst wenn ich mich über die Fläche von der Form bewege, aber nicht dann, wenn ich über irgendein Control komme.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: DBGrid-Event wie OnMouseOver

  Alt 9. Aug 2005, 13:56
Mit welcher Delphi Version arbeitest du? Mein DBGrid kennt das event OnMouseMove.
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#7

Re: DBGrid-Event wie OnMouseOver

  Alt 9. Aug 2005, 13:57
hab Delphi 4

mist brauch ich jetzt ne neuere Version dafür?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: DBGrid-Event wie OnMouseOver

  Alt 9. Aug 2005, 13:59
Nicht unbedingt - wenn du die Quellen hast, könnte man die anpassen.
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#9

Re: DBGrid-Event wie OnMouseOver

  Alt 9. Aug 2005, 14:03
Sorry, welche Quellen meinst du?

Meinst du den Sourcecode? Das Problem betreffend existiert da noch nicht viel ! Weil ich immernoch nach einem passenden Event oder WindowsMessage suche.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: DBGrid-Event wie OnMouseOver

  Alt 9. Aug 2005, 14:24
Mit Quellen meinte ich die VCL sources. Wenn du die nicht hast, dann bleibt immer noch subclassing als Möglichkeit - WndProc hast du ja schon erwähnt. Die Nachricht ist übrigens WM_MOUSEMOVE.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:36 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