GetFocus 判断一下当前是哪个slider获取焦点

解决方案 »

  1.   


    具体怎么写呢?(我现在是按enter键切换)
    首先我怎么能让他只在slider control之间切换?
    其次怎么让他切换到slider 上以后可以用上下左右键调节?
    最后这是我现在的代码,为什么没有实现在现有控件上的焦点切换?我的:BOOL CMFCpDlg::PreTranslateMessage(MSG* pMsg)
    {
    if (pMsg->message==WM_KEYDOWN)
    {
    switch (pMsg->wParam)
    {
    case 'h':
    case 'H':
    OnClickedButton1();
    break;
    case 'B':
    case 'b':
    OnClickedButton2();   
    break;
    case 'c':
    case 'C':
    OnClickedButton3();
    break;
    case VK_ESCAPE :
    OnClickedButton4();
    break;
    case 'S':
    case 's':
    OnBnClickedButton7();
    break;
    case 'R':
    case 'r':
    OnBnClickedButton6();
    break;
    case 'O':
    case 'o':
    OnBnClickedButton8();
    break;
    case 'P':
    case 'p':
    OnBnClickedButton9();
    break;
    case 'Q':
    case 'q':
    cvDestroyAllWindows();
    break;
    case VK_RETURN :
                    CWnd *mwnd = GetNextDlgTabItem (GetFocus()); //取得当前焦点控件的下一个控件的句柄  
                    if (mwnd)  
    {  
           mwnd->SetFocus(); //设置下一件控件得到输入焦点  
           return TRUE;  
                    }  
                    break;  
    }
    }
    return 0;
    }
      

  2.   


    什么代码也不用写,在界面编辑器里的窗口上拖6个Slider上去,按Ctrl+D,设置一下他们TAB选中的顺序,
    编译运行,就可以用TAB在这六个Slider上切换了,切换到哪个,按键盘的左右键就能调整Slider。如果界面上还有按钮什么的,不想TAB切换到按钮上的话,把按钮的Tabstop属性设置为flase即可。