![]() |
FormActivate, wann wird es ausgelößt?
Hallo,
Der Delphi Hilfe habe ich entnommen, dass das FormActivate Ereigniss immer ausgelößt wird, wenn ein anderes Fenster aktiv ist und ich dann auf das eigene Programm klicke, sprich es aktiviere. Aber irgendwie geht das nicht... Ich habe jetzt mehrere Dinge versucht, aber jedesmal wird dieses Ereigniss nur einmal, und zwar beim starten des Programs aufgerufen. Ich habe ein Programm nur zum Testen geschrieben:
Delphi-Quellcode:
Nach dem Start des Programs ist die Button Caption auf 0,
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure FormActivate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; i: integer; implementation {$R *.dfm} procedure TForm1.FormActivate(Sender: TObject); begin button1.caption:=inttostr(i); inc(i); end; end. also wurde FormActivate 1x ausgeführt. Aber ich bekomme es nicht zusammen, das die Caption sich ändert. Ich habe andere Programme geöffnet und dann auf das eigene geklickt, nichts tut sich. Wann wird FormActivate ausgeführt? Bzw. welches Ereigniss wird ausgeführt wenn das Programm wieder aktiv geschalten wird, sprich wenn der Benutzer zum Beispiel mit Alt + Tab herumspringt.... Dankbar für jede Hilfe! |
Re: FormActivate, wann wird es ausgelößt?
Hallo ferby,
Zitat:
![]() Gruß Hawkeye |
Re: FormActivate, wann wird es ausgelößt?
Hallo,
danke für deinen Hilfe. Wie meinst du das, mit direkt im Quelltext?? So geht es nicht:
Delphi-Quellcode:
procedure TApplication.OnActivate;
begin button1.caption:=inttostr(i); inc(i); end; Aber wie sonst? Edit: Ps. Mit der Komponente ApplicationEvents geht es, danke |
Re: FormActivate, wann wird es ausgelößt?
So kannst du ein Ereignis mit einer Behandlungsroutine im Quelltext verknüpfen:
Delphi-Quellcode:
Gruß Hawkeye
procedure Form1.FormActivate (Sender: TObject);
begin Button1.Caption := IntToStr(i); Inc (i); end; procedure Form1.FormCreate (Sender: TObject); begin Application.OnActivate := FormActivate; // <-- hier ist die Zuweisung end; |
Re: FormActivate, wann wird es ausgelößt?
Hallo,
danke, funktioniert auch wunderbar! Diese Lösung finde ich sogar besser! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz