AGB  ·  Datenschutz  ·  Impressum  







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

Eigene Mouseevents werden zu oft ausgeführt

Ein Thema von BaYeR · begonnen am 30. Apr 2006 · letzter Beitrag vom 30. Apr 2006
Antwort Antwort
BaYeR

Registriert seit: 28. Sep 2004
13 Beiträge
 
#1

Eigene Mouseevents werden zu oft ausgeführt

  Alt 30. Apr 2006, 02:08
Hallo Leute ich habe ein Problem mit den Events OnMouseEnter und OnMouseLeave bei einem TPanel.

Und zwar habe ich eine Klasse von TPanel abgeleitet und werte die Messages CM_MOUSEENTER und CM_MOUSELEAVE aus. Es funktioniert soweit ganz gut, nur entsteht nun das Problem, dass der Code in dem Event viel zu oft ausgeführt wird. Wenn ich z.B. ein Showmessage hineinsetze, bekomme ich z.B. beim Enter unendlich viele Message-Boxen, da hilft dann nurnoch Programm killen. So sollte das ja nicht sein, der Code sollte nur einmal beim MouseEnter ausgeführt werden.

Ich habe auch schon andere, fertige Komponenten ausprobiert, da tritt jedoch dasselbe auf.

Wäre schön, wenn jemand wüsste, woran das liegt

Vielen Dank im Vorraus
BaYeR
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Eigene Mouseevents werden zu oft ausgeführt

  Alt 30. Apr 2006, 07:55
das ganze ist soweit logich. Denn wenn du ein Showmessage aufrufst kommt ein MouseLeave. Wenn die Messagebox dann wieder weg ist und die Maus sich über deinem Panel befindet betritt sie das Panel erneut (MouseEnter) und so geht das immer weiter.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
BaYeR

Registriert seit: 28. Sep 2004
13 Beiträge
 
#3

Re: Eigene Mouseevents werden zu oft ausgeführt

  Alt 30. Apr 2006, 10:37
hm, in meinen augen ist das nicht logisch, da sich die Boxen nicht über dem Panel befinden. Ich kann auch die Maus über dem Panel ruhen lassen und werde von Message-Boxen erschlagen...


//edit:
ok, es lag wirklich an den Message-Boxen, nun funktioniert alles bis auf das Leave-Event^^

Danke für deine Hilfe
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Eigene Mouseevents werden zu oft ausgeführt

  Alt 30. Apr 2006, 11:09
Hallo BaYeR,

jedes Control, das eine CM_MOUSEENTER- oder CM_MOUSELEAVE-Nachricht empfängt, leitet diese an sein übergeordnetes Control weiter. Am Ende dieser Kette steht in der Regel das Formular. Wenn dein Panel also mehrere Controls enthält, wird jede Mausbewegung von einem Control zum einem anderen Nachrichten über dein Panel nach "oben" verschicken.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:39 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