SCROLLINFO scrollinfo;
GetScrollInfo(SB_HORZ, &scrollinfo, SIF_ALL);
switch (nSBCode)
{
case SB_LINERIGHT:
if (scrollinfo.nPos < scrollinfo.nMax){
scrollinfo.nPos += 10;
SetScrollInfo(SB_HORZ, &scrollinfo);
ScrollWindow(-10, 0);}
break;
}
使用 GetScrollInfo 得到滾動信息 將信息保存於 SCROLLINFO 類的數據中
然後根據 nSBCode 來判斷是哪個滾動條的哪個動作,做了調整
下面列出滾動的相關函數
afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar );
各個參數的意義:
nSBCode
指定指示用戶滾動請求的滾動條代碼。 此參數可以是下列值之一:
SB_LEFT 滾動到最左側。
SB_ENDSCROLL 結束滾動。
SB_LINELEFT 滾動。
SB_LINERIGHT 滾動權限。
SB_PAGELEFT 滾動一頁。
SB_PAGERIGHT 滾動一頁權限。
SB_RIGHT 滾動到最右邊。
SB_THUMBPOSITION 為絕對位置的滾動。 當前位置由 nPos 參數指定。
SB_THUMBTRACK 拖動到指定位置的滾動框。 當前位置由 nPos 參數指定。
nPos
如果滾動條代碼是 SB_THUMBPOSITION 或 SB_THUMBTRACK,指定滾動框位置;否則,未使用。 基於初始滾動大小,nPos 可以為負的,因此如果需要,轉換到 int。
pScrollBar
如果滾動消息來自滾動條控件,其中包含指向該控件。 //如果是手動添加的滾動控件
如果用戶單擊窗口滾動條,此參數是 NULL。
指針可能是瞬態的,不應存儲以供將來使用。