Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.031 Beiträge
 
Delphi 12 Athens
 
#5

Re: Componenten Container feststellen

  Alt 6. Jul 2009, 10:18
Die Eigenschaft ActiveControl kennt nicht nur TForm, sondern auch TScreen und davon gibt es ja eine aktive Instanz.

man kann so auch eine Eigenschaft draus machen
Delphi-Quellcode:
Function TMyContainer.BinIchOderEinesMeinerKomponentenAktiv: Boolean;
  Var C: TComponent;

  Begin
    C := Screen.ActiveControl;
    While Assigned(C) do Begin
      If C = Self Then Begin
        Result := True;
        Exit;
      End;
      C := C.Parent;
    end;
    Result := False;
  End;
So klettert man nur mal schnell den "Baum" runter und muß nicht erst in jeden "Zweig" schauen, ob da etwas aktiv ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat