我在编写一个基于模式对话框的程序CEdDlg

1.我在对话框中加了一个CSliderCtrl类空件ID:IDC_TIMESLIDER2.又加了一个CStatic类空件ID:IDC_TIMEvoid CEdDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
CString ss;
CSliderCtrl*pSlider=(CSliderCtrl*)pScrollBar;
pScrollBar->SetScrollPos(nPos);
ss.Format("%d",nPos);
         SetDlgItemText(IDC_TIME,ss);
}
 为什么我在运行时拖动 Slider时IDC_TIME变化,而一放下IDC_TIME又变为0;

解决方案 »

  1.   

    void CTCtrlDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
    {
         // TODO: Add your message handler code here and/or call default
         CString ss;
         CSliderCtrl*pSlider=(CSliderCtrl*)pScrollBar;
         pScrollBar->SetScrollPos(nPos);
         CSliderCtrl *pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_TIMESLIDER);
         UINT m_nCur=pSlidCtrl->GetPos();//取得当前位置值    ss.Format("%d",m_nCur);
        m_data=ss ; 
        UpdateData(false) ; 
    }
      

  2.   

    m_data为IDC_TIME对应的控件变量
    在View->Class Wizard->Member Variable属性页中加入对应IDC_TIME的变量名m_data