Einzelnen Beitrag anzeigen

Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#1

Objecten ein gemeinsames Ereigniss zuweisen

  Alt 28. Mai 2009, 10:48
Hallo,
Ich nutze das BDS2006.
Ich möchte in einem Formular per Schleife allen Objekten das gemeinsame Ereigniss "onMouseEnter" zuweisen.
Delphi-Quellcode:
  for I := 0 to Self.ComponentCount - 1 do
  Begin
    Comp := Self.Components[I];
    if comp is TControl then TControl(Comp).onMouseEnter := MeineProc;
  end;
Das "problem" ist, das onMouseEnter in der Klasse TControl() protected deklariert ist und ich demnach natürlich nicht auf diese Methode zugreifen kann (ist ja auch logisch). Diese Methode wird erst in den entsprechenden "Endklassen" (TEdit,TMemo...) published freigegeben


Nur wie könnte ich eine solche schleife Automatisieren? Da ich eine Lösung ala

Delphi-Quellcode:
  for I := 0 to Self.ComponentCount - 1 do
  Begin
    Comp := Self.Components[I];
    if comp is TEdit then TEdit(Comp).onMouseEnter := MeineProc;
    if comp is TButton then TButton(Comp).onMouseEnter := MeineProc;
....
  end;
irgendwie viel zu aufwendig/umständlich finde.

danke schonmal im vorraus
mfg Jens
  Mit Zitat antworten Zitat