本文主要通過一個示例,給大家介紹了C++中滾動條的滾動問題,以及相關參數的解釋,非常的詳細,有需要的小伙伴可以參考下。
- 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。
指針可能是瞬態的,不應存儲以供將來使用。
以上所述就是本文的全部內容了,希望大家能夠喜歡。
更多可參看:C++入門教程
新聞熱點
疑難解答