爲MFC單文檔中的視圖添加CScrollBar控件

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了。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章