Hallo!
Ich hab hier ein bizarres Problem:
Wenn ich direkt nach dem OnShow des Hauptformulares eines Programmes ein Login-Fenster hochbringe, dann hat das Eingabefeld im Login-Fenster NICHT den Fokus. (dh der Cursor blinkt nicht im Edit Feld).
Der Fokus scheint nirgends zu sein - aber nach 3mal TAb drücken ist er korrekt im Edit.
Wenn ich zuvor im OnShow ein leeres Fenster erzeuge und anzeige, dann passt alles.
Delphi-Quellcode:
uses
ufrmAdminPw;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
// If these lines are commented out, the edit field in the upcoming form isn't active (no blinking cursor) - why?!?
// with TForm.Create(self) do
// Show;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
PostMessage(self.handle, WM_AfterShow, 0,0);
end;
procedure TForm1.WMAfterShow(var Msg: TMessage);
begin
with TfrmAdminPw.Create(nil) do
begin
ShowModal;
Free;
end;
end;
(Beispielprojekt ist angehängt)
Klar kann man das sicher irgendwie beheben, aber ich würde gerne verstehen, was hier fehlschlägt.
HILFE!
Danke!
Ralf
PS: Mit D2010 compiliert.