Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - EditField nach Messagebox im OnExit event nicht anklickbar


bwolf - Di 27.02.07 12:08
Titel: EditField nach Messagebox im OnExit event nicht anklickbar
Hi all,

hab da mal wieder ein seltsames Problem, desssen Uhrsache ihr mir hoffentlich erklären könnt.

Also auf einer Form sind 3 TEdit's.

Das 1. TEdit erzeugt im OnExit-Event eine MessageBox

Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
MessageBox(0, pchar('Bin ich eine Messag-Box?'), 'Was bist du?', MB_ICONQUESTION or MB_YESNO);
end;


Wenn nun der Focus im ersten Feld liegt, und man mit Tab das Feld verläßt, erscheint die Messagebox. Allerdings kann ich jetzt nicht mehr ins 2. Edit-Feld klicken, das ist irgendwie blockiert.
Wenn ich nun aber ins 3. Edit-Feld klicke, kann anschließend auch wieder ins 2. geklickt werden.

Genau so verhält es sich, wenn ich im ersten Edit bin und ins 3. Edit klicke - dann is das 3. Feld gesperrt, dafür funzt das zweite aber - also immer das Feld, das nach dem verlassen des 1. Edit's angeklickt wird, ist gesperrt.

Gibts da ne Erklärung für warum das so ist?

Danke schomal,
Grüße ben


chrisw - Di 27.02.07 12:40

Ist hier [http://www.swissdelphicenter.ch/torry/showcode.php?id=629] beschrieben !!


bwolf - Di 27.02.07 13:05

Hi Chris,

vielen Dank für deine Antwort.
Also so wie es im Swissdelphicenter beschrieben ist, kann ich das nicht nachvollziehen - so funktioniert es bei mir (D7).

Bei mir gehts jetzt auch, und zwar in dem ich die Messagebox nicht mehr so


Delphi-Quelltext
1:
MessageBox(0, pchar('Bin ich eine Messag-Box?'), 'Was bist du?', MB_ICONQUESTION or MB_YESNO);                    


sonder so erzeuge

Delphi-Quelltext
1:
Application.MessageBox(pchar('Bin ich eine Messag-Box?'), 'Was bist du?', MB_ICONQUESTION or MB_YESNO);