1.初始化滚动条和显示静态文本
//水平滚动条 plistbox = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR1); plistbox->SetScrollRange(0,100);// 滑块移动的位置为0-100 //静态文本框 char str; sprintf(&str,"%d%c",0,'%'); GetDlgItem(IDC_text)->SetWindowText(&str);
2.添加消息响应函数,并做相关处理
//垂直滚动条的响应函数 void CDialogDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add your message handler code here and/or call default CDialog::OnVScroll(nSBCode, nPos, pScrollBar); } //水平滚动条的响应函数 void CDialogDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add your message handler code here and/or call default int nTemp1 = 0; int nTemp2 = 0; nTemp1 = pScrollBar->GetScrollPos();//获取滚动条的当前位置 switch (nSBCode) { case SB_THUMBPOSITION://当前的绝对位置,已经停下 pScrollBar->SetScrollPos(nPos);//设置为当前位置 break; case SB_LINELEFT://按方向键坐时触发 nTemp2 = 1; if(nTemp1>=nTemp2) nTemp1 -=nTemp2; else nTemp1 = 0; pScrollBar->SetScrollPos(nTemp1);//设置当前位置 break; case SB_LINERIGHT://按方向键向右移动时 nTemp2 = 1; if(nTemp1<100) nTemp1 +=nTemp2; else nTemp1 = 100; pScrollBar->SetScrollPos(nTemp1); break; } //显示百分比 char str; sprintf(&str,"%d%c",nTemp1,'%'); GetDlgItem(IDC_text)->SetWindowText(&str); CDialog::OnHScroll(nSBCode, nPos, pScrollBar); }