BOOL CCtrlTree::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN) { ::TranslateMessage(pMsg); ::DispatchMessage(pMsg); return TRUE; } return CTreeCtrl::PreTranslateMessage(pMsg); } 按回车键响应
if (pMsg->message == WM_KEYDOWN) { if (pMsg->wParam == 'p') { if (GetFocus() == GetDlgItem(IDC_TREE)) { NULL; } else { // 快捷键... } } }
to piggy312() DispatchMessage派送消息肯定又是被快捷键先接受了。编辑节点文本时焦点在编辑框上,此时主要是如何让这个键盘按键响应的是打字功能,不是快捷键响应to littlepboy(vc小p孩) //这个里面应当是屏蔽快捷键,以及在树节点文本上写出这个‘p’,如何处理。 if (GetFocus() == GetDlgItem(IDC_TREE)) { NULL; }
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN) {
::TranslateMessage(pMsg);
::DispatchMessage(pMsg);
return TRUE;
}
return CTreeCtrl::PreTranslateMessage(pMsg);
}
按回车键响应
{
if (pMsg->wParam == 'p')
{
if (GetFocus() == GetDlgItem(IDC_TREE))
{
NULL;
}
else
{
// 快捷键...
}
}
}
DispatchMessage派送消息肯定又是被快捷键先接受了。编辑节点文本时焦点在编辑框上,此时主要是如何让这个键盘按键响应的是打字功能,不是快捷键响应to littlepboy(vc小p孩)
//这个里面应当是屏蔽快捷键,以及在树节点文本上写出这个‘p’,如何处理。
if (GetFocus() == GetDlgItem(IDC_TREE))
{
NULL;
}
下面是我以前写的,虽然屏蔽掉了所有快捷键,但数节点编辑框对键盘按键没有显示。哪位能告诉以下怎么发消息或者更改下面的代码,使节点能够编辑BOOL CWorkBartreeCtrl::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
if(GetFocus()!=this)
{
HWND hkeyWnd = ::GetFocus();
::SendMessage(hkeyWnd,WM_KEYDOWN, pMsg->wParam, pMsg->lParam);
return TRUE;
}
}
return CTreeCtrl::PreTranslateMessage(pMsg);
}
//这个里面应当是屏蔽快捷键,以及在树节点文本上写出这个‘p’,如何处理。
if (GetFocus() == GetDlgItem(IDC_TREE))
{
NULL;
}
/////////////////////////
当然是直接返回基类的PreTranslateMessage了,也就是说使用默认处理。