Ich bin dabei einen Bug zu fixen in einer alten Delphi 5 Anwendung (die auf Bugfixes nicht mehr weiterentwickelt wird).
Die Mainform wird in den Tray Icon versteckt:
Delphi-Quellcode:
Application.MainForm.Visible := False;
if IsWindowVisible(Application.Handle) then
ShowWindow(Application.Handle, SW_HIDE);
Durch einen Doppel-Klick auf den Tray Icon wird eine Funktion ausgelöst bei der ein Child-Fenster erzeugt wird (eine Eingabemaske). Funktioniert so weit so gut, jedoch gibt es ein Problem. Alle Shortcuts des Mainmenus der Mainform sind weiterhin aktiv, obwohl die Form unsichtbar ist. Wenn es dort also z.B. einen Ctrl + T Shortcut gibt, kann ich diesen Shortcut nicht on OnKeyDown des Childfensters abfragen, weil automatisch der Shortcut der unsichtbaren Mainform aufgerufen wird. Wie kann ich das verhindern? Muss ich wirklich das Mainmenu beim Verstecken ausschalten?