Einzelnen Beitrag anzeigen

Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#1

Edit-Feld kriegt den Focus nicht

  Alt 6. Jun 2016, 17:13
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.
Angehängte Dateien
Dateityp: zip FocusBug.zip (2,2 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat