顯示滾動條,只需要在createwindow的第三個引數中包括視窗樣式(ws)識別符號ws_vscroll(垂直捲動)和/或ws_hscroll(水平捲動)即可
這些捲動列通常放在視窗的右部和底部,伸展為顯示區域的整個長度或寬度。顯示區域不包含捲動列所佔據的空間。
但是有這些是遠遠不夠滴.
1.首先,滾動條是有範圍的.在內定情況下,滾動條的範圍是從0(頂部或左部)至100(底部或右部)。但是如果要改變,應該這麼做.
setscrollrange (hwnd, ibar, imin, imax, bredraw) ;/*引數ibar為sb_vert或者sb_horz,
imin和imax分別是範圍的最小值和最大值。
如果想要windows根據新範圍重畫滾動條,則設定bredraw為true
*/
有個常識:捲動方塊的位置總是離散的整數值。如果你的範圍過於小的話,比如0-5,那麼整個滾動條只能定位五個位置。
2.我們可以手動設定新的滾動方塊的位置:
setscrollpos (hwnd, ibar, ipos, bredraw) ;/*引數ipos是新位置,它必須在imin至imax的範圍內
*/
3.獲取滾動塊的位置和範圍可以使用getscrollrange和getscrollpos;
4.當程式內使用滾動條時,程式與windows共同負責維護滾動條以及更新捲動方塊的位置。
下面是windows對滾動條的處理:
以下是程式應該完成的工作:
在用滑鼠單擊滾動條或者拖動捲動方塊時,windows給視窗訊息處理程式傳送wm_vscroll(供上下移動)和wm_hscroll(供左右移動)訊息。
和所有的訊息一樣,wm_vscroll和wm_hscroll也帶有wparam和lparam(忽略)訊息引數。
wparam訊息引數被分為乙個低字組和乙個高字組。wparam的低字組是乙個數值,它指出了滑鼠對滾動條進行的操作。這個數值被看作乙個「通知碼」。通知碼的值由以sb開頭的識別符號定義
#define sb_lineup 0 //點選上邊的箭頭產生
#define sb_lineleft 0 //
點選左邊的箭頭產生
#define sb_linedown 1//
點選下邊的箭頭產生
#define sb_lineright 1//
點選右邊的箭頭產生
#define sb_pageup 2 //
在垂直滾動條上面空白處且在滾動方塊上面點選產生
#define sb_pageleft 2//
在垂直滾動條上面空白處且在滾動方塊上面點選產生
#define sb_pagedown 3//
在垂直滾動條上面空白處且在滾動方塊下面點選產生
#define sb_pageright 3//
在垂直滾動條上面空白處且在滾動方塊下面點選產生
#define sb_thumbposition 4//
釋放滾動方塊產生
#define sb_thumbtrack 5//
點選滾動方塊拖著走產生
#define sb_top 6
#define sb_left 6
#define sb_bottom 7
#define sb_right 7
#define sb_endscroll 8//
釋放點選產生
新增有關sb_*通知碼的**如下:
casewm_vscroll:
switch
(loword (wparam))
ivscrollpos = max (0, min (ivscrollpos, numlines - 1
)) ;
if (ivscrollpos !=getscrollpos (hwnd, sb_vert))
return
0 ;
invalidaterect這個函式是將wm_paint訊息排進訊息佇列裡面,不能做到及時重新整理,如果需要及時重新整理,可以在後面加上updatewindow這個函式.
附加乙份實現滾動條的**(c++)
突然發現不能傳附件,orz......傳到git吧
2013-09-10.21:39:11
DIV滾動條設定新增 CSS滾動條顯示與滾動條隱藏
div滾動條設定 css滾動條顯示與滾動條隱藏 對div設定滾動條,設定其橫向滾動條和縱向滾動條樣式。所需css樣式為overflow y和overflow x來設定div盒子物件右側和底部滾動條效果。同時也可以使用css樣式設定html框架iframe的滾動條隱藏,接下來為大家介紹。overflo...
DIV滾動條設定新增 CSS滾動條顯示與滾動條隱藏
divcss5 a,divcss5 b divcss5 b css注釋說明 設定第二個盒子與第乙個盒子間距為10px,並設定了橫縱滾動條樣式 style head divcss5測試內容,歡迎來到divcss5學習div css技術。大家可以通 過divcss5主站上的所有免費css教程足可學會di...
windows程式設計 滾動條
include define numlines int sizeof sysmetrics sizeof sysmetrics 0 struct sysmetrics lresult callback wndproc hwnd,uint,wparam,lparam 視窗函式原型 int winapi...