国产黄色免费网站,人人干人人干人人干,免费大黄网站在线看,国产情侣一区二区三区,99精品国产福利免费一区二区,国产亚洲成归v人片在线观看,伊人88

2023信創(chuàng)獨(dú)角獸企業(yè)100強(qiáng)
全世界各行各業(yè)聯(lián)合起來,internet一定要實(shí)現(xiàn)!

VC++之Scroll Bar

2004-02-10 eNet&Ciweek

Scroll Bar一般不會(huì)單獨(dú)使用,因?yàn)镾pinCtrl可以取代滾動(dòng)條的一部分作用,但是如果你需要自己生成派生窗口,滾動(dòng)條還是會(huì)派上一些用場。創(chuàng)建一個(gè)滾動(dòng)條可以使用成員函數(shù):

BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );

其中dwStyle將指明該窗口的風(fēng)格,除了子窗口常用的風(fēng)格WS_CHILD,WS_VISIBLE外,你可以針對滾動(dòng)條指明專門的風(fēng)格。
SBS_VERT 風(fēng)格將創(chuàng)建一個(gè)垂直的滾動(dòng)條。
SBS_HORZ 風(fēng)格將創(chuàng)建一個(gè)水平的滾動(dòng)條。


在創(chuàng)建滾動(dòng)條后需要調(diào)用void SetScrollRange( int nMinPos, int nMaxPos, BOOL bRedraw = TRUE )設(shè)置滾動(dòng)范圍,

int GetScrollPos( )/int SetScrollPos( )用來得到和設(shè)置當(dāng)前滾動(dòng)條的位置。

void ShowScrollBar( BOOL bShow = TRUE );用來顯示/隱藏滾動(dòng)條。

BOOL EnableScrollBar( UINT nArrowFlags = ESB_ENABLE_BOTH )用來設(shè)置滾動(dòng)條上箭頭是否為允許狀態(tài)。nArrowFlags可取以下值:

ESB_ENABLE_BOTH 兩個(gè)箭頭都為允許狀態(tài)
ESB_DISABLE_LTUP 上/左箭頭為禁止?fàn)顟B(tài)
ESB_DISABLE_RTDN 下/右箭頭為禁止?fàn)顟B(tài)
ESB_DISABLE_BOTH 兩個(gè)箭頭都為禁止?fàn)顟B(tài)


如果需要在滾動(dòng)條位置被改變時(shí)得到通知,需要在父窗口中定義對消息WM_VSCROLL/WM_HSCROLL的映射。方法為在父窗口類中重載afx_msg void OnVScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar )/afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar ) 所使用的消息映射宏為:ON_WM_VSCROLL( ),ON_WM_HSCROLL( ),在映射宏中不需要指明滾動(dòng)條的ID,因?yàn)樗袧L動(dòng)條的滾動(dòng)消息都由同樣的函數(shù)處理。在OnHScroll/OnVScroll的第三個(gè)參數(shù)會(huì)指明當(dāng)前滾動(dòng)條的指針。第一個(gè)參數(shù)表示滾動(dòng)條上發(fā)生的動(dòng)作,可取以下值:
SB_TOP/SB_BOTTOM 已滾動(dòng)到頂/底部
SB_LINEUP/SB_LINEDOWN 向上/下滾動(dòng)一行
SB_PAGEDOWN/SB_PAGEUP 向上/下滾動(dòng)一頁
SB_THUMBPOSITION/SB_THUMBTRACK 滾動(dòng)條拖動(dòng)到某一位置,參數(shù)nPos指明當(dāng)前位置(參數(shù)nPos在其它的情況下是無效的)
SB_ENDSCROLL 滾動(dòng)條拖動(dòng)完成(用戶松開鼠標(biāo))

相關(guān)頻道: eNews

您對本文或本站有任何意見,請?jiān)谙路教峤?,謝謝!

投稿信箱:tougao@enet16.com