如何找到以前的主动控件:Delphi

时间:2010-12-16 04:49:08

标签: delphi

我想在Delphi中获得以前的主动控件,我试图使用OnActiveControlChange事件,但即使通过我可以得到当前的主动控件而不是前一个。

提前感谢您的帮助。 --Vijay

2 个答案:

答案 0 :(得分:9)

试用此代码

  TForm1 = class(TForm)
  ---
  --- 
  private
    { Private declarations }
    wcActive, wcPrevious : TWinControl;
  public
    { Public declarations }
    procedure ActiveControlChanged(Sender: TObject) ;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ActiveControlChanged(Sender: TObject);
begin
  wcPrevious := wcActive;
  wcActive := Form1.ActiveControl;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Screen.OnActiveControlChange := ActiveControlChanged;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Screen.OnActiveControlChange := nil;
end;

使用wcControl.Name获取上一个控件的名称

有关详情,请浏览this link

答案 1 :(得分:5)

您可以使用此活动为自己构建一个活动控件的“历史记录”,并找到之前您将查阅历史记录列表。