Hallo,
Zitat:
Der Vorschlag von Volker hat funktioniert: [...] Ich versteh' zwar nicht warum, aber jetzt funktioniert es.
Es liegt an der Folge der Aufrufe: zuerst OnShow, danach OnActivate.
Wenn Du in Form1.FormShow die Message absetzt, dann läuft folgendes ab:
WMAfterShow
->
Form2.ShowModal
(das Edit erhält den Fokus) ->
Form1.FormActivate
(das Form1 holt sich den Fokus, d. h.: das Edit erhält eine WM_KILLFOCUS Botschaft)
Die Message in Form1.FormActivate abgesetzt:
(Form1 bzw. ein Control hat den Fokus) ->
WMAfterShow
->
Form2.ShowModal
(das Edit erhält den Fokus)
Gruß