2010-12-16 8 views
5

Bir önceki aktif kontrolü Delphi'de almak istiyorum, OnActiveControlChange olayını kullanmayı denedim, ancak bunun üzerinden mevcut aktif kontrolü bir öncekine göre değil. Önceden yardım içinÖnceki aktif kontrol nasıl bulunur: Delphi

teşekkürler. --Vijay

cevap

8

bu kod

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; 
deneyin

Kullanım wcControl.Name fazla bilgi için

this link

+0

Teşekkür çözmek için yardımcı olur almak bu basit mantığı kaçırdım –

4

Kendinizi bu etkinliği kullanarak aktif denetimlerin geçmişini ve geçmiş listenizi incelemenizi sağlayacak bir geçmiş oluşturabilirsiniz.

+0

Teşekkür Miller koruyarak tarihinin geçmesi önceki denetimin adını bana I bharat başka konuyu –