由于两个空间相似度比较高,所以放在一起处理
第一步:两个控件的初始化
m_pgs.SetRange32(1, 100); //设置滚动条的范围
m_slider.SetRange(1, 1000); //设置滑块的范围
m_uTimer = SetTimer(1,100,NULL); //启动定时器
m_pgs.SetStep(1); //设置滚动条的步长
m_slider.SetPos(50); //设置滑块的初始范围
第二步 :使得程序运行的时候就让滚动条自动滚动
1.添加ONTIMER消息
2.在消息函数中做如下处理
void CMFCApplication4Dlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_pgs.StepIt();
CDialogEx::OnTimer(nIDEvent);
}
第三步:关于对滑块滑动事件的处理
由于滑块滑动相应的是窗口的消息,所以添加消息OnHScrool消息,在消息中做如下处理
其中m_sedit为编辑框控件的int类型,滑动滑块使得值显示在编辑框中
void CMFCApplication4Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (pScrollBar->m_hWnd==m_slider.m_hWnd)
{
int x = m_slider.GetPos(); m_sedit = x;
UpdateData(FALSE);
}
CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}