在视图中添加控件,比如CEdit,CListCtrl等不能响应CTRL+C,CTRL+X,CTRL+V等热键,可以用下面方法重载PreTranslateMessage
BOOL CMaintainView::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
UINT nKeyCode = pMsg->wParam; // virtual key code of the key pressed
if (pMsg->message == WM_KEYDOWN)
{
if ( (nKeyCode == _T('C') || nKeyCode == _T('X')
|| nKeyCode == _T('V')) &&
(::GetKeyState(VK_CONTROL) & 0x8000) )
{
::TranslateMessage(pMsg);
::DispatchMessage(pMsg);
return(TRUE);
}
}
return CView::PreTranslateMessage(pMsg);
}