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