用于编辑控件替换的标准弹出菜单

时间:2017-07-13 09:08:58

标签: delphi winapi

我开发了像TMemo这样的Edit控件,但我正在使用TCustomControl。

如何为编辑控件显示标准弹出菜单?enter image description here

我的控件可以使用WM_COPY,WM_PASTE等来处理菜单项。

我收到WM_CONTEXTMENU消息以显示菜单。但我希望标准菜单包含本地显示字符串。是否有任何功能/消息,以显示TMemo使用的相同菜单?

TMemo基于“EDIT”课程。但我正在使用TCustomControl,因为我处理和绘制的文本非常不同。

2 个答案:

答案 0 :(得分:1)

显示此菜单的方法是获取EDIT窗口类来执行此操作。对标准EDIT窗口类进行子类化,与TEditTMemo完全相同。然后,您需要在代码中应用自定义。

答案 1 :(得分:1)

菜单存在于User32.dll中,资源ID为1。

这当然是一个未记录的实现细节,它与编辑控件菜单不完全相同,因为如果ImmIsIME为真,它会附加到菜单(User32.dll中的700..703资源字符串) 。如果你想要完全相同的行为,你必须调试编辑控件以确定它对菜单的确切作用,具体取决于语言环境和语言包(EditSetMenu)...