1.在视图类的声明中加入如下代码,声明一个CScrollBar
CScrollBar m_scrollbarx;
2.如果生成的视图类没有窗口创建的消息响应函数OnCreate
那么自己可以通过类向导添加一个
在OnCreate函数加入如下码,将m_scrollbarx添加到视图上,并且对m_scrollbar进行一些初始化工作
RECT rect = {0,0,20,500};
m_scrollbar.Create(WS_CHILD | WS_VISIBLE | SB_VERT,rect,this,2);//WS_VISIBLE一定要加上,不然你就看不到m_scrollbar了
m_scrollbar.SetScrollRange(0,1);
m_scrollbar.SetScrollPos(50);
3.通过类向导,给视图创建WM_VSCROLL的消息响应函数
在函数中加入如下代码,就可以对m_scrollbar进行操作了
注:不要对系统的滚动块操作,会报错的。
int TempPos = pScrollBar->GetScrollPos();
switch(nSBCode)
{
case SB_THUMBPOSITION://拖动滑块
pScrollBar->SetScrollPos(nPos);
break;
case SB_LINEUP://点击上边的箭头
if(TempPos > 1)
{
TempPos--;
}
pScrollBar->SetScrollPos(TempPos);
break;
case SB_LINEDOWN://点击下边的箭头
if(TempPos<1000)
{
TempPos++;
}
pScrollBar->SetScrollPos(TempPos);
break;
}
这里创建的是垂直方向的CScrollBar,用同样的方法很容易创建出水平方向的CScrollBar了。