怎样屏蔽方向键导致的焦点移动,该如何解决

怎样屏蔽方向键导致的焦点移动
比如有个对话框,上面有10个按钮控件,按tab键或者方向键的话,焦点就会在这10个按钮之间循环移动……
我知道把按钮的tabstop属性设为false可以屏蔽tab键,但不知道怎样屏蔽方向键,也就是按方向键时不要让焦点在按钮上移动。
不能简单地在PreTranslateMessage中把方向键过滤掉,因为我还需要方向键完成别的功能。
求指教……

------解决方案--------------------
C/C++ code
BOOL CXXDlg::PreTranslateMessage(MSG* pMsg) 
{
    // TODO: Add your specialized code here and/or call the base class
    if(WM_KEYDOWN == pMsg->message)
    {
        switch(pMsg->wParam)
        {
        case VK_LEFT:
        case VK_RIGHT:
        case VK_UP:
        case VK_DOWN:
            {
                TCHAR szClass[256] = {0};
                ::GetClassName(pMsg->hwnd, szClass, 256);
                if(0 == _tcscmp(szClass, _T("Button")))
                {
                    return TRUE;
                }
            }
            break;

        default:
            break;
        }
    }
    return CDialog::PreTranslateMessage(pMsg);
}