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 MouseOver erkennen ohne neue Kompo (https://www.delphipraxis.net/125555-mouseover-erkennen-ohne-neue-kompo.html)

messie 8. Dez 2008 13:52


MouseOver erkennen ohne neue Kompo
 
Moin,

ich möchte gerne etwas triggern, wenn ich mit der Maus über ein Steuerelement gehe. Das geht, indem ich eine property OnMouseEnter in die Komponente einbaue.
Nun will ich nicht die acht Sorten Komponenten komplett umbauen.
Gibt es noch einen anderen Weg, dieses Event einzufangen, als das Erstellen neuer Komponenten?

Grüße, Messie

Uwe Raabe 8. Dez 2008 16:32

Re: MouseOver erkennen ohne neue Kompo
 
Das OnMouseMove Event ist in TControl bereits als protected deklariert und wird in den entsprechenden Komponenten im Allgemeinen lediglich published gemacht. Somit kannst du mit dem altbekannten Hack "wie greife ich auf protected Eigenschaften einer Klasse zu" das Problem zwar nicht in der IDE, aber im Source lösen:


Delphi-Quellcode:
type
  TControlHack = class(TControl)
  end;

procedure SetMouseMoveEventToControl(AControl: TControl; AMouseMoveEvent: TMouseMoveEvent
begin
  TControlHack(AControl).OnMouseMove := AMouseMoveEvent;
end;

messie 9. Dez 2008 08:16

Re: MouseOver erkennen ohne neue Kompo
 
Ich hab's leider nicht ganz verstanden :oops:
Wie soll ich das mit meinen Controls verheiraten?

Grüße, Messie

DeddyH 9. Dez 2008 08:23

Re: MouseOver erkennen ohne neue Kompo
 
Zur Laufzeit zuweisen.


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