CEdit 响应 ctrl+a ctrl+c ctrl+v ctrl+x

  • Post author:
  • Post category:其他


通常在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 版权协议,转载请附上原文出处链接和本声明。