當視窗的標準垂直滾動條中有滾動的事件發生時,在我們的視窗應用程式的訊息佇列中將產生一條WM_VSCROLL訊息。
WM_VSCROLL
WPARAM wParam;
LPARAM lParam;
參數
wParam
HIWORD指定LOWORD做為SB_THUMBPOSITION或SB_THUMBTRACK滾動框的當前位置,否則,這個詞不使用。
LOWORD做為指定一個滾動條值,指出用戶的滾動要求。這個參數可以是下列值之一。SB_PAGEDOWN 向下滾動一頁
SB_LINEDOWN 向下滾動一行
SB_PAGEUP 向上滾動一頁
SB_LINEUP 向上滾動一行
SB_TOP 滾動到頂端
SB_BOTTOM 滾動到底部
SB_THUMBPOSITION 用戶有拖動滾動框 (滑塊),並釋放滑鼠按鈕。HIWORD 指示在拖動操作結束時滾動框的位置。
SB_THUMBTRACK 用戶正在拖動滾動框。直到用戶釋放滑鼠按鈕,反覆傳送此郵件。HIWORD 指示滾動框已被拖動到的位置。
lParam
如果通過滾動條傳送訊息,則此參數是滾動條控制項的句柄。如果通過滾動條不傳送訊息,則此參數為 NULL。
返回值
如果應用程式處理該訊息,它應該返回零。
備註
SB_THUMBTRACK 請求代碼通常使用的應用程式提供的反饋,因為用戶拖動滾動框。
如果應用程式將滾動視窗的內容,它也必須復位使用 SetScrollPos 函式的滾動框的位置。
請注意 WM_VSCROLL 訊息進行滾動框的位置數據的只有 16 位。因此,應用程式僅僅依靠 WM_VSCROLL (和 WM_HSCROLL) 為滾動位置數據的實際最大位置值為 65,535
但是,由於 SetScrollInfo、 SetScrollPos、 SetScrollRange、 GetScrollInfo、 GetScrollPos 和 GetscrollRange 函式支持 32 位滾動欄位置數據,是避開 16 位屏障的 WM_HSCROLL 和 WM_VSCROLL 的訊息的方法。技術的說明,請參閱 GetScrollInfo。