RichEdit 在基于对话框的程序中,无需实现,自带快捷键的Ctrl+C、Ctrl+V工程,但在文档视图框架中却能直接使用:
父窗口重载 PreTranslateMessage消息
BOOL COutputWnd::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN)
{
switch (pMsg->wParam)
{
case 0x41: //selete all
case 0x46: //ctrl+f
case 0x56: //Ctrl + V:
case 0x58: // cut
case 0x43: // copy
case 0x5A: //undo
case 0x59: //redo
if ((GetKeyState(VK_CONTROL) & 0x80))
{
<span style="font-size:18px;color:#ff0000;"><strong><u>m_pEdit->SendMessage(pMsg->message, pMsg->wParam, pMsg->lParam);</u></strong></span>
return TRUE;
}
break;
default:
break;
}
}//End: if ( pMsg->message ); return CFormView::PreTranslateMessage(pMsg);
return CDockablePane::PreTranslateMessage(pMsg);
}
截取快捷键并向RichEdit发送消息
***********************************************以上是快捷键的响应**********************************************************
至于右键菜单的响应,与其他右键响应方式相同,复制功能就调用:Copy()函数,清空调用Clear()函数,
//这些函数是RichEdit的文本操作函数
BOOL Undo();
BOOL Redo();
void Clear();
void Copy();
void Cut();
void Paste();