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();
本文介绍如何在基于RichEdit的文档视图框架中截取并响应Ctrl+C、Ctrl+V等快捷键,并实现复制、粘贴等功能。此外,还提供了实现右键菜单响应的方法。
3799

被折叠的 条评论
为什么被折叠?



