在MDI/SDI 中实现 RictEdit 复制粘贴功能

来源:互联网 发布:大一统理论 知乎 编辑:程序博客网 时间:2024/05/21 18:44

RichEdit 在基于对话框的程序中,无需实现,自带快捷键的Ctrl+C、Ctrl+V工程,但在文档视图框架中却能直接使用:


父窗口重载 PreTranslateMessage消息

BOOL COutputWnd::PreTranslateMessage(MSG* pMsg){if (pMsg->message == WM_KEYDOWN){switch (pMsg->wParam){case 0x41: //selete allcase 0x46: //ctrl+fcase 0x56: //Ctrl + V:case 0x58: // cutcase 0x43: // copycase 0x5A: //undocase 0x59: //redoif ((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();



0 0
原创粉丝点击