在一个对话框里面有两个Slider控件,请问如何在对话框类得知哪一个Slider被移动了呢?

解决方案 »

  1.   

    滑块控件 (Slider Control) 通过向父窗口发送 WM_HSCROLL 或 WM_VSCROLL 消息(取决于滑块控件 (Slider Control) 的方向),将用户操作通知其父窗口。若要处理这些消息,请将 WM_HSCROLL 和 WM_VSCROLL 消息的处理程序添加到父窗口。将向 OnHScroll 和 OnVScroll 成员函数传递通知代码、滑块的位置和指向 CSliderCtrl 对象的指针。注意指针的类型为 CScrollBar *,即使它指向 CSliderCtrl 对象。若要操作滑块控件 (Slider Control),可能需要转换该指针的类型。
      

  2.   

    指向 CSliderCtrl 对象,然后怎么做呢?
      

  3.   

    GetDlgCtrlID获得控件ID来判断是哪一个
      

  4.   

    void CMyDialog::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    {
          if(pScrollBar == GetDlgItem(IDC_SCROLLBAR1))//这里判断是不是IDC_SCROLLBAR1在滚动
             {
                     ....//这里是滚动处理代码
             }
    CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
    }