inzwischen ist es mir doch gelungen, den Fall in einem einfachen Projekt nachzustellen, und ich denke, es handelt sich um einen Bug in der Delphi-Runtime. Eigentlich müsste ein einfacher Workaround möglich sein, aber bislang sind all meine Versuche gescheitert.
Es ist eine
VCL-
MDI-Anwendung mit einem Style; ich habe im Beispiel mal den "Iceberg Classico" verwendet.
Das Hauptfenster bekommt ein Menü, das per &-Shortcuts steuerbar ist (Alt-Taste und markierter Buchstabe).
Irgendein
MDI-Child ist bereits geöffnet.
Ich instanziere und öffne eine neue
MDI-Child-Form per &-Shortcut.
Dann ist weiterhin der Fokus auf der Menüleiste; jeglicher weiterer Tastendruck landet im Menü und nicht in meiner neuen Form.
Das passiert nicht, wenn als Style "Windows" genommen wird.
Das passiert nicht, wenn zuvor keine andere Form aktiv war.
Das passiert nicht, wenn das Menü per Maus bedient wird.
Das passiert auch nicht, wenn man zuerst nur die Alt-Taste drückt und wieder loslässt. Dann ist das Menü ja auch aktiviert und man kann ohne Alt-Taste fortfahren im Menü.
Ich lege mal das Beispielprojekt gezippt hier rein.
Mit Alt-T F öffnet sich Form1. Der Fokus sollte dann auf dessen Exit-Button liegen und ein simple E sollte die Form schließen. Tut es aber nicht.