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 的颜色

MFC输入框CEdit控件十六进制转换

MFC - 是不是可以为除 CEdit 之外的任何其他控件显示气球提示?

MFC中CEdit显示文件内容问题,求解

MFC的Dialogbox多行文本框(CEdit)有最大字符限制,默认最大显示长度是?怎么实现显示160KB大小的文件

MFC的CEdit多于1024个字符自动换行