RichEdite响应快捷键事件

// 响应快捷键事件
BOOL CChatInputDlg::ShortcutKeyEvent(UINT nID, MSG* pMsg)
{
    // 事件为空,返回
    if (NULL == pMsg)
    {
        return FALSE;
    }

    // 是否按下CTRL
    if(GetKeyState(VK_CONTROL) < 0)
    {
        // 是否按下A
        if (pMsg->wParam == 65)
        {
            if (nID == IDC_RICHEDT_INPUT)
            {
                m_RichEditInput.SetSel(0, -1);
                return TRUE;
            }
        }
        // 是否按下C
        if (pMsg->wParam == 67)
        {
            if (nID == IDC_RICHEDT_INPUT)
            {
                RichEditCopy();
                return TRUE;
            }
        }
        // 是否按下V
        if (pMsg->wParam == 86)
        {
            if (nID == IDC_RICHEDT_INPUT)
            {
                RichEditPaste();
                return TRUE;
            }
        }
        // 是否按下X
        if (pMsg->wParam == 88)
        {
            if (nID == IDC_RICHEDT_INPUT)
            {
                RichEditCut();
                return TRUE;
            }
        }
        // 是否按下Z
        if (pMsg->wParam == 90)
        {
            if (nID == IDC_RICHEDT_INPUT)
            {
                RichEditUndo();
                return TRUE;
            }
        }
    }

    return FALSE;
}
posted @ 2011-11-29 23:00  Wait...  阅读(298)  评论(0编辑  收藏  举报