Kuck dir mal folgendes Scenario an: Delphi starten (leeres Formular), ein Edit draufpacken, F9.
So Das Edit hat jetzt den Focus und der Text ist selektiert. Jetzt klick irgendwo neben das Edit oder klick irgendein anderes Fensters an. Dann aktivierts du wieder dein Fenster mit dem Edit. Und du wirst sehen das Edit hat immer noch den Fokus und die Einfügemarke blinkt fleißig weiter im Edit.
Fazit: Ein Fenster / Dialog kann nur "aktiv" sein (farbige Titelleiste im Gegensatz zur grauen), es kann aber nicht den Fokus erhalten, wie ein Kindfenster. Oder hast du schon mal ein Elternfenster mit gestrichelten Rahmen gesehen?
Zitat von
OLLI_T:
An diese Controls leite ich aus der Dialogprozedur heraus unter anderem WM_KEYDOWN/UP Nachrichten um.
Wie darf ich das verstehen?
Ich weiß nicht, aber ich würde es genau anders rum machen. Ich würde die Kontrolls subclassen damit sie nur auf die Tastatur-Nachrichten reagieren.