![]() |
TMenuItem um MouseMove erweitern
Hallo,
ich hätte gerne bei einem MenuItem in einem MainMenu auch ein MouseMove Event. Leider ist dies standardmäßig nicht drin. Ich habe nun gedacht, ganz einfach, da bauen wir uns eben ein eigenes MenuItem, leiten das von TMenuItem ab und erweitern es um das passende Event. Nur leider bekomme ich es einfach nicht hin. Mein Code ist folgender:
Delphi-Quellcode:
Leider ist es nun aber so, dass das Programm nie in die FDoMouseOver Routine kommt. Was mache ich falsch?
unit ADvMenuItem;
interface uses Controls, Menus, Messages, Classes, Windows; type TAdvMenuItem = class (TMenuItem) private FOnMouseOver : TNotifyEvent; procedure FDoMouseOver (var Msg: TMsg); message wm_MouseMove; public property OnMouseOver : TNotifyEvent read FOnMouseOver write FOnMouseOver; end; implementation procedure TAdvMenuItem.FDoMouseOver (var Msg : TMsg); begin if assigned(FOnMouseOver) then FOnMouseOver(self); end; |
Re: TMenuItem um MouseMove erweitern
Ich denke du machst nichts falsch. Zwar sind die MenuItems eigene Objecte aber sie haben kein eigenes Fensterhandle und können somit auch keine Nachrichten empfangen. Sie sind lediglich Objecte deren Daten dann innerhalb des gesamten Menüs genutzt und dargestellt werden.
|
Re: TMenuItem um MouseMove erweitern
Gibt es denn dann vielleicht eine andere Möglichkeit um darauf zu reagieren, wenn die Maus auf einem Menüpunkt ist? Also zum Beispiel um in einer Statusleiste was anzuzeigen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz