MFC中CRichEditCtrl复制快捷操作
Copy shortcut operation with CRichEditCtrl in MFC
我对 MFC 很陌生。我有以下 Copy
代码和 CRichEditCtrl
对象的 SelectAll
快捷方式。
ON_COMMAND(ID_EDIT_COPY, OnCopy)
ON_COMMAND(ID_EDIT_SELECT_ALL, OnSelectAll)
但是我无法在我在这里编写的函数中捕捉到 Copy (Ctrl+C)
和 SelectAll (Ctrl+A)
的断点,因为它没有被执行。
这里的CRichEditCtrl对象是只读的(文本是只读的,不允许修改)。
我还想为 CRichEditCtrl 对象提供使用鼠标选择文本的功能。
关于如何实现这个的任何想法?
此操作未使用我们已知的 WM_COMMAND 值执行。击键也会在内部检查并在内部处理。
内部有一些名为 WM_COPY 和 WM_PASTE 的特殊 window 消息,用于一些与剪贴板交互的操作。
Afaik 选择(Select 全部)完全在内部完成。您可以尝试子类化 RTF 控件并拦截 EM_SETSEL 消息。
如果你想拦截击键,你可以使用 PreTranslateMessage 或者你可以再次子类化 RTF 控件。
我对 MFC 很陌生。我有以下 Copy
代码和 CRichEditCtrl
对象的 SelectAll
快捷方式。
ON_COMMAND(ID_EDIT_COPY, OnCopy)
ON_COMMAND(ID_EDIT_SELECT_ALL, OnSelectAll)
但是我无法在我在这里编写的函数中捕捉到 Copy (Ctrl+C)
和 SelectAll (Ctrl+A)
的断点,因为它没有被执行。
这里的CRichEditCtrl对象是只读的(文本是只读的,不允许修改)。
我还想为 CRichEditCtrl 对象提供使用鼠标选择文本的功能。
关于如何实现这个的任何想法?
此操作未使用我们已知的 WM_COMMAND 值执行。击键也会在内部检查并在内部处理。
内部有一些名为 WM_COPY 和 WM_PASTE 的特殊 window 消息,用于一些与剪贴板交互的操作。
Afaik 选择(Select 全部)完全在内部完成。您可以尝试子类化 RTF 控件并拦截 EM_SETSEL 消息。
如果你想拦截击键,你可以使用 PreTranslateMessage 或者你可以再次子类化 RTF 控件。