通常在CFormView中创建的CEdit等空间是不会响应ctrl+c等消息,解决方法是重写PreTranslateMessage,具体如下:
BOOL CInfoView::PreTranslateMessage(MSG* pMsg)
{
//为了让当前类或者子类中的控件可以使用 ctrl+C等则需要添加如下消息处理
UINT nCode = pMsg->wParam;
if (pMsg->message == WM_KEYDOWN)
{
if ( (nCode == _T(‘A’) || nCode == _T(‘C’) || nCode == _T(‘X’) || nCode == _T(‘V’))
&&(::GetKeyState(VK_CONTROL) & 0x8000) )
{
::TranslateMessage(pMsg);
::DispatchMessage(pMsg);
return TRUE;
}
}
return CFormView::PreTranslateMessage(pMsg);
}
版权声明:本文为yangsongqbs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。