CDialogBar中编辑框控件(Edit Control)中进行用Ctrl+C、Ctrl+V进行拷贝,粘贴操作会不可用。
其解决办法有二。
其一:
资源的Accelerator里的子项删除ID_EDIT_PASTE和ID_EDIT_COPY项就可以了,一般在IDR_MAINFRAME里。
其二:
重载PreTranslateMessage方法,其代码如下:
方法一来源于: http://topic.csdn.net/t/20051117/16/4400471.html
方法二来源于: http://www.codeguru.com/cpp/w-d/dislog/ddxddv/comments.php/c1997/?thread=25622
个人认为,方法二更为妥当一些。
其解决办法有二。
其一:
资源的Accelerator里的子项删除ID_EDIT_PASTE和ID_EDIT_COPY项就可以了,一般在IDR_MAINFRAME里。
其二:
重载PreTranslateMessage方法,其代码如下:
BOOL CToolBarDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message >= WM_KEYFIRST && // for performance
pMsg->message <= WM_KEYLAST)
{
// Translate dialog key if applicable
if(::IsDialogMessage(m_hWnd, pMsg))
return TRUE;
}
return CDialogBar::PreTranslateMessage(pMsg);
}
这样,就可以响应了。
{
if (pMsg->message >= WM_KEYFIRST && // for performance
pMsg->message <= WM_KEYLAST)
{
// Translate dialog key if applicable
if(::IsDialogMessage(m_hWnd, pMsg))
return TRUE;
}
return CDialogBar::PreTranslateMessage(pMsg);
}
方法一来源于: http://topic.csdn.net/t/20051117/16/4400471.html
方法二来源于: http://www.codeguru.com/cpp/w-d/dislog/ddxddv/comments.php/c1997/?thread=25622
个人认为,方法二更为妥当一些。