2010-12-16 21 views
5

我想在Delphi中獲得前一個活動控件,我嘗試過使用OnActiveControlChange事件,但即使通過該控件我也可以獲得當前活動控件而不是前一個控件。如何找到以前的活動控件:Delphi

感謝您的幫助提前。 --Vijay

回答

8

試試這個代碼

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

+0

感謝巴拉特我錯過這個簡單的邏輯 – 2010-12-16 10:43:58

4

您可以使用此事件構建自己的活動控件的「歷史記錄」,並查找以前您將查閱歷史記錄列表。

+0

感謝米勒保持的歷史可以幫助我解決另一個問題 – 2010-12-16 10:51:41