Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat