使树控件方向键无效

BOOL CTestTryeDlg::PreTranslateMessage(MSG* pMsg) 
{
    if (pMsg->message == WM_KEYDOWN &&       // 拦截WM_KEYDOWN消息
        ::GetFocus() == m_tree.GetSafeHwnd())   // 当前树控件要处于焦点中,不要影响其它控件方向键的使用
    {
        if (pMsg->wParam == VK_LEFT || 
            pMsg->wParam == VK_RIGHT||
            pMsg->wParam == VK_UP    ||
            pMsg->wParam == VK_DOWN)
        {
            return TRUE;
        }
    }
    
    return CDialog::PreTranslateMessage(pMsg);
}

最简单有效的方法在对话框虚函数中拦截WM_KEYDOWN消息即可。

原文地址:https://www.cnblogs.com/Roarsun/p/3069161.html