正在给作品添加编辑器,使用了RichEdit20W。
完了发现复制粘贴Ctrl+C、Ctrl+V 不能用。
做为一个强大的编辑控件怎么会没有这种功能呢。
在网上搜索一番,发现答案皆不得要领啊。
什么添加右键菜单啊之类的,不是脱裤子放屁嘛。
右键菜单当然有用,但现在这个复制粘贴功能,
很简单的说,RichEdit本身是有的。
只需要快捷键的话,像下面这样就可以了
BOOL CFrmvXXXX::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
// 响应键盘快捷键
if (pMsg->message==WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case 0x41: //selete all
case 0x46: //ctrl+f
case 0x56: //paste
case 0x58: //cut
case 0x43: //copy
case 0x5A: //undo
case 0x59: //redo
if ((GetKeyState(VK_CONTROL) & 0x80))
{
m_richedit.SendMessage(pMsg->message, pMsg->wParam, pMsg->lParam);
return TRUE;
}
break;
}
}
return CFormView::PreTranslateMessage(pMsg);
}
也就是改写控件所在窗口的PreTranslateMessage方法就可以了。
这几个中Ctrl+F 不起作用,其它几个包括undo、redo都是支持的,
very nice! 哈