Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: aktive Komponenten anzeigen lassen

  Alt 18. Jun 2004, 12:56
Es gibt keine aktiven Komponenten, sondern pro Formular nur ein Steuerelement (=control), dass den Fokus hat.
Dieses Steuerlement kann man mit TForm.ActiveControl abfragen.
LabelInfo.Text := self.ActiveControl.Name; Wenn dich zusätzlich interessiert, auf welchem Panel/Groupbox ein Steuerelement liegt, dann kannst
du so vorgehen:
Delphi-Quellcode:
var
   c : Tcontrol;
   s : string;
begin
   c := self.ActiveControl;
   if Assigned(c) then
   begin
   s := c.Name; // name des fokusierten Steuerelements

   while (c.Parent <> nil) and (c.Parent<>self) do
   begin
      c := c.Parent;
      s := c.Name + ' -> ' s; // Name des Parent dazu
   end;
   LabelInfo.Text := s;
   end
   else
      LabelInfo.Text := 'kein Control selektiert';
end;
Andreas
  Mit Zitat antworten Zitat