MFC中CEdit实现快捷键
Posted fenggwsx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中CEdit实现快捷键相关的知识,希望对你有一定的参考价值。
从CEdit
派生出CEditEx
类,并在CEditEx
类中添加虚函数PreTranslateMessage
,添加如下代码
BOOL CEditEx::PreTranslateMessage(MSG* pMsg)
{
// 编辑框快捷键操作
if(WM_KEYDOWN == pMsg->message)
{
if(::GetFocus() == m_hWnd && (GetKeyState(VK_CONTROL) & 0xFF00 ) == 0xFF00)
{
// 全选
if(pMsg->wParam == ‘A‘ || pMsg->wParam == ‘a‘)
{
this->SetSel(0, -1);
return TRUE;
}
// 拷贝
if(pMsg->wParam == ‘C‘ || pMsg->wParam == ‘c‘)
{
this->Copy();
return TRUE;
}
// 剪切
if(pMsg->wParam == ‘X‘ || pMsg->wParam == ‘x‘)
{
this->Cut();
return TRUE;
}
// 粘贴
if(pMsg->wParam == ‘V‘ || pMsg->wParam == ‘v‘)
{
this->Paste();
return TRUE;
}
// 撤销
if(pMsg->wParam == ‘Z‘ || pMsg->wParam == ‘z‘)
{
this->Undo();
return TRUE;
}
}
}
return CEdit::PreTranslateMessage(pMsg);
}
接着将EditEx.h
文件设为预编译头文件,供所有类使用,于是便可以在自己的窗口类中声明CEditEx
控件,使用Create
等方法创建支持快捷键的文本框,也可以在可视化编辑中对文本框添加控件型关联变量,将变量类型改为CEditEx
(其实关联变量会帮助进行SubClassWindow
)
原文链接:https://blog.csdn.net/tonnychu/article/details/19334221?utm_source=blogxgwz2,有更改
以上是关于MFC中CEdit实现快捷键的主要内容,如果未能解决你的问题,请参考以下文章
MFC - 是不是可以为除 CEdit 之外的任何其他控件显示气球提示?