6 Stimmen

So finden Sie die vorherige aktive Kontrolle: Delphi

Ich möchte das vorherige aktive Steuerelement in Delphi zu erhalten, ich habe versucht, OnActiveControlChange-Ereignis verwendet, aber auch durch, dass ich das aktuelle aktive Steuerelement nicht die vorherige erhalten kann.

Vielen Dank für die Hilfe im Voraus. --Vijay

9voto

Bharat Punkte 6758

Versuchen Sie diesen Code

  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;

Utilice wcControl.Name um den Namen des vorherigen Steuerelements zu erhalten

Weitere Informationen finden Sie unter dieser Link

5voto

Darian Miller Punkte 7580

Mit Hilfe dieses Ereignisses können Sie eine "Historie" aktiver Kontrollen erstellen, und um die vorherige zu finden, würden Sie Ihre Historienliste konsultieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X