ActiveControl(Form)


ActiveControlプロパティは そのフォームでフォーカスを得ているコントロールを返します。Delphiでも同じように, 「ActiveControl」プロパティを使用します。このプロパティは TWinControl型のオブジェクトを返します。このクラスはフォーカスを得ることのできるコンポーネントの全てが継承しているクラスです。あるクラス独自の処理をする場合は As を使ってその型に変換しないといけません。

■ TStringsの Clearの使用例
  procedure TForm1.SpeedButton1Click(Sender: TObject);
  var
    cmpActive : TWinControl;
  begin
    {※このコードをフォーカスを得ることができる}
    {コントロールに記述してはいけません。}

    {現在アクティブなコントロールを取得する}
    cmpActive   :=    Form1.ActiveControl;
    {それは ListBox型か?}
    if  cmpActive is  TListBox  then  begin
      {ListBoxにキャスト}
      with  cmpActive as  TListBox  do  begin
        {ListBox.Items.Clear 内容消去}
        Items.Clear;
      end;
    end;
  end;