即使子窗口具有焦点,如何使KeyDown事件在Delphi(2007)MDI应用程序父窗口中也能工作?
我想实现一个快捷键(F1),该快捷键会在MDI应用程序中弹出一个帮助屏幕,我已将KeyDown过程添加到MDI父窗口中,并在父窗口和子窗口中都启用了KeyPreview,但它不能像预期。
如果我在Parents KeyDown代码中设置了一个断点,即使没有子窗口打开,我也看不到它永远不会执行。但是,如果我在子窗口中添加相同的代码,则可以正常工作。
即使子窗口具有焦点,也没有办法让父窗口接收按键,因为将代码添加到25个以上的窗体接缝中有点浪费吗?
最佳答案
我这个星期有完全一样的问题!我通过在主窗体上的ActionManager中创建一个动作来修复它。此操作将打开帮助文件,并将F1键设置为快捷方式。它也适用于所有MDI子屏幕。