如此处所述,RichEdit 控件为各种函数提供了许多内置快捷方式。
我在Delphi 7应用程序中TRichEdit
控件,我想删除其中一些(但可能不是全部)快捷方式。msdn 中没有描述这样的方法。
我目前只是为此目的使用 OnKeyDown
和 OnKeyUp
事件处理程序,但这不是一个非常优雅的解决方案,因为我必须为每个 TRichEdit
控件添加代码,并且通常我只为此添加OnKeyDown
和OnKeyUp
事件处理程序。
我想实现一个更优雅的解决方案来全局处理这些快捷方式,例如使用拦截器类,但我不知道如何拦截和丢弃这些快捷方式。有什么想法吗?
您可以添加自己的快捷方式处理程序,这些处理程序不执行任何操作。添加操作列表并添加操作。使用操作的ShortCut
和SecondaryShortCuts
属性来劫持目标快捷方式。为不执行任何操作的操作添加OnExecute
处理程序,或者可能发出哔哔声以指示未处理的快捷方式。
我不确定这是否会起作用,因为从未尝试过,但我相信它应该。