Hallo zusammen,
hab inzwischen herausgefunden, wie es funktioniert. Falls es mal jemand brauchen sollte, hier die Lösung:
Form1 ist das Hauptformular, Form2 das modale Formular. Man nehme eine TApplicationEvents-Komponente und den nachfolgenden Kode unter ApplicationEvents1Activate.
Delphi-Quellcode:
unit Unit1;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Dialogs,
Vcl.Forms,
Vcl.StdCtrls,
Vcl.AppEvnts;
type
TForm1 =
class(TForm)
Button1: TButton;
OpenDialog1: TOpenDialog;
ApplicationEvents1: TApplicationEvents;
procedure Button1Click(Sender: TObject);
procedure ApplicationEvents1Activate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
Form2: TForm;
implementation
{$R *.dfm}
uses PassWord;
procedure TForm1.ApplicationEvents1Activate(Sender: TObject);
begin
if (Form2 <>
Nil)
and (fsModal
in Form2.FormState)
and Form2.Showing
then Form2.BringToFront;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2 := TPasswordDlg.Create(Self);
Form2.Parent := Self;
if Form2.ShowModal = mrOK
then begin
// mache was...
end;
end;
end.
Viele Grüße
Peter
"Der Erfolg besteht manchmal in der Kunst, das für sich zu behalten, was man nicht weiß." Sir Peter Ustinov