仔细检查你的代码喽.
记住不管多少个控件来控制,应该只设置一份数据.既然有两个控件管同一份数据,那么在一个控件改变时除了改变数据以外,还应该用新数据更新另外一个控件的状态.搞混乱了谁也没好果子吃的

解决方案 »

  1.   

    void CBrshStpDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
    {
    CSliderCtrl* pSlide;
    CSpinButtonCtrl* pSpin;
    CString strText;
    // TODO: Add your message handler code here and/or call default switch (pScrollBar->GetDlgCtrlID()){
    case IDC_SLIDER1:
    pSlide = (CSliderCtrl*)pScrollBar;
         m_nDeepness = 10 - pSlide->GetPos();
    strText.Format("%d",m_nDeepness);   //m_nDeepness 为控制的数据
    SetDlgItemText(IDC_EDIT1,strText);
                      UpdateData(FALSE);
    //set spin
    pSpin = (CSpinButtonCtrl*)GetDlgItem(IDC_SPIN1);
    pSpin->SetPos(m_nDeepness);
    break;
    case IDC_SPIN1:
    pSpin = (CSpinButtonCtrl*)pScrollBar;
    m_nDeepness = pSpin->GetPos();
    strText.Format("%d",m_nDeepness);
    SetDlgItemText(IDC_EDIT1,strText);
    UpdateData(FALSE);
    //set slide
    pSlide = (CSliderCtrl*)GetDlgItem(IDC_SLIDER1);
    pSlide->SetPos(10 - m_nDeepness);
    break;
    }
    CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
    }  //控制数据的代码应该没问题   关键还是显示的问题