• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            幽幽
             
            posts - 51,  comments - 28,  trackbacks - 0

            滾動(dòng)控件(ScrollBar)


              滾動(dòng)條(ScrollBar)主要用來從某一預(yù)定義值范圍內(nèi)快速有效地進(jìn)行選擇。滾動(dòng)條分垂直滾動(dòng)條和水平滾動(dòng)條兩種。在滾動(dòng)條內(nèi)有一個(gè)滾動(dòng)框,用來表示當(dāng)前的值。用鼠標(biāo)單擊滾動(dòng)條,可以使?jié)L動(dòng)框移動(dòng)一頁,鼠標(biāo)單擊滾動(dòng)條兩端的剪頭可以使?jié)L動(dòng)框移動(dòng)一行,也可以直接拖動(dòng)滾動(dòng)框。許多窗口控件如列表框和組合框等都帶有滾動(dòng)條子窗口。Win32的滾動(dòng)條支持比例滾動(dòng)框,即用滾動(dòng)框的大小來反映頁相對(duì)于整個(gè)范圍的大小。
              當(dāng)CreateWindowEx創(chuàng)建滾動(dòng)條時(shí),其風(fēng)格常數(shù)中帶SBS_VERT為水平滾動(dòng)條,不帶SBS_VERT或帶SBS_HORZ為垂直滾動(dòng)條。
              創(chuàng)建控件時(shí)應(yīng)初始化滾動(dòng)條的各種參數(shù)。
              應(yīng)用程序可以通過調(diào)用SendMessage向控件發(fā)送如下消息來設(shè)定控件各種參數(shù)。
            uMsg wParam lParam 說明
            SBM_ENABLE_ARROWS ESB_DISABLE_BOTH 0 禁止雙向滾動(dòng)剪頭
            ESB_DISABLE_DOWN 0 禁止向下滾動(dòng)剪頭
            ESB_DISABLE_LTUP 0 禁止向上和向左滾動(dòng)剪頭
            ESB_DISABLE_LEFT 0 禁止向左滾動(dòng)剪頭
            ESB_DISABLE_RTDN 0 禁止向下和向右滾動(dòng)剪頭
            ESB_DISABLE_UP 0 禁止向上滾動(dòng)剪頭
            ESB_ENABLE_BOTH 0 允許雙向滾動(dòng)剪頭(撤消各種禁止)
            SBM_SETPOS 指定位置 TRUE 設(shè)置滾動(dòng)框位置,并重繪控件
            FALSE 設(shè)置滾動(dòng)框位置,不重繪控件
            SBM_SETRANGE 最小值 最大值 設(shè)置滾動(dòng)框位置的變化范圍
            SBM_SETRANGEREDRAW 最小值 最大值 設(shè)置滾動(dòng)框位置的變化范圍,并重繪控件
            SBM_SETSCROLLINFO TRUE或FALSE SCROLLINFO結(jié)構(gòu)指針 本消息通過一個(gè)SCROLLINFO結(jié)構(gòu)來同時(shí)指定控件的多種參數(shù),具體指定哪些參數(shù)由結(jié)構(gòu)中的fMask成員確定。wParam指定是否重繪控件,詳見“SCROLLINFO結(jié)構(gòu)”
              當(dāng)用戶在滾動(dòng)條控件上進(jìn)行各種操作時(shí),其父窗口將收到WM_HSCROLL或WM_VSCROLL通知消息,同時(shí)wParam的低16位帶有如下表的消息代碼(nScrollCode),wParam的高16位帶滾動(dòng)框的指定位置(nPos),該值在消息代碼等于SB_THUMBPOSITION或SB_THUMBTRACK時(shí)才有效。lParam帶控件句柄(hwndScrollBar)。
              應(yīng)用程序可以根據(jù)消息代碼做相應(yīng)的操作,重新設(shè)置滾動(dòng)框位置,控件本身是不會(huì)改變滾動(dòng)框位置的。
            消息代碼 動(dòng)作 響應(yīng)
            SB_LINEUP
            SB_LINELEFT
            用戶點(diǎn)擊了向上(左)剪頭 滾動(dòng)框位置減一,客戶窗口向上(左)滾動(dòng)一行。
            注:這兩個(gè)代碼數(shù)值相等,因此可以混用,下同。
            SB_LINEDOWN
            SB_LINERIGHT
            用戶點(diǎn)擊了向下(右)剪頭 滾動(dòng)框位置加一,客戶窗口向下(右)滾動(dòng)一行。
            SB_PAGEUP
            SB_PAGELEFT
            用戶點(diǎn)擊了滾動(dòng)框以上(左)剪桿 滾動(dòng)框位置減去一個(gè)大單位,客戶窗口向上(左)滾動(dòng)一頁。
            SB_PAGEDOWN
            SB_PAGERIGHT
            用戶點(diǎn)擊了滾動(dòng)框以下(右)剪桿 滾動(dòng)框位置加上一個(gè)大單位,客戶窗口向下(右)滾動(dòng)一頁。
            SB_THUMBPOSITION 用戶拖動(dòng)并釋放滾動(dòng)框到指定位置 設(shè)定滾動(dòng)框到指定位置。客戶窗口滾動(dòng)到指定位置。
            SB_THUMBTRACK 用戶正在拖動(dòng)滾動(dòng)框 設(shè)定滾動(dòng)框到指定位置??蛻舸翱跐L動(dòng)到指定位置。如果應(yīng)用程序需要快速瀏覽窗口,可以響應(yīng)本消息重繪窗口,如果不需要快速瀏覽,可以等待收到SB_THUMBPOSITION消息時(shí)重繪窗口。
            SB_ENDSCROLL 用戶釋放按下剪頭或剪桿的鼠標(biāo) 無須做任何響應(yīng)
              應(yīng)用程序可以通過調(diào)用SendMessage向控件發(fā)送如下消息來取得當(dāng)前控件各種參數(shù)。
            uMsg wParam lParam 說明
            SBM_GETPOS 0 0 返回滾動(dòng)框當(dāng)前位置。
            SBM_GETRANGE 最小值地址指針 最大值地址指針 在指定地址中填入32位的滾動(dòng)框位置的變化范圍
            SBM_GETSCROLLINFO 0 SCROLLINFO結(jié)構(gòu)指針 在一個(gè)SCROLLINFO結(jié)構(gòu)中返回控件的多種參數(shù),必須事先設(shè)定結(jié)構(gòu)的fMask成員來確定具體要取得哪些參數(shù)。詳見“SCROLLINFO結(jié)構(gòu)”
              當(dāng)控件需要重畫時(shí)向每父窗口發(fā)送WM_CTLCOLORSCROLLBAR消息,同時(shí)在wParam中帶控件的設(shè)備場景句柄(hDC),lParam中帶控件句柄。如果應(yīng)用程序響應(yīng)這個(gè)消息并返回一個(gè)畫刷(brush)句柄,控件將根據(jù)這個(gè)句柄繪制背景色。

            SCROLLINFO結(jié)構(gòu):
            SCROLLINFO STRUCT
                        cbSize        DWORD      ?
                        fMask         DWORD      ?
                        nMin          DWORD      ?
                        nMax          DWORD      ?
                        nPage         DWORD      ?
                        nPos          DWORD      ?
                        nTrackPos     DWORD      ?
                        SCROLLINFO ENDS
            成員說明:
              cbSize: SCROLLINFO結(jié)構(gòu)長度字節(jié)數(shù),該值在設(shè)置和查詢參數(shù)時(shí)都必須填寫。
              fMask: 指定結(jié)構(gòu)中的哪些成員是有效,該值共有如下5種選擇,可以選擇多種用“OR”組合起來,該值在設(shè)置和查詢參數(shù)時(shí)都必須填寫。
                SIF_ALL      :整個(gè)結(jié)構(gòu)都有效
                SIF_DISABLENOSCROLL:該值僅在設(shè)定參數(shù)時(shí)使用,視控件參數(shù)設(shè)定的需要來對(duì)本結(jié)構(gòu)的成員進(jìn)行取舍。
                SIF_PAGE      :nPage成員有效
                SIF_POS      :nPos成員有效
                SIF_RANGE     :nMin和nMax成員有效
              nMin:滾動(dòng)范圍最小值
              nMax:滾動(dòng)范圍最大值
              nPage:頁尺寸,用來確定比例滾動(dòng)框的大小
              nPos:滾動(dòng)框的位置
              nTrackPos:拖動(dòng)時(shí)滾動(dòng)框的位置,該參數(shù)只能查詢,不能設(shè)置。
             

            posted on 2008-07-21 09:57 幽幽 閱讀(1769) 評(píng)論(3)  編輯 收藏 引用 所屬分類: Windows

            FeedBack:
            # re: 滾動(dòng)控件(ScrollBar)
            2008-07-21 13:23 | foxtail
            總之GUI開發(fā)總是不那么優(yōu)雅  回復(fù)  更多評(píng)論
              
            # re: 滾動(dòng)控件(ScrollBar)
            2008-07-22 03:11 | 幽幽
            @foxtail
            何謂"優(yōu)雅"?  回復(fù)  更多評(píng)論
              
            # re: 滾動(dòng)控件(ScrollBar)
            2008-07-22 07:53 | foxtail
            優(yōu)雅就是簡單的邏輯
            應(yīng)該說GUI應(yīng)該存在一種語言,專門描述界面
            而不是搞在程序里,程序應(yīng)該只處理數(shù)據(jù)或者業(yè)務(wù)。而界面應(yīng)該獨(dú)立出來  回復(fù)  更多評(píng)論
              

            <2008年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(6)

            隨筆分類(35)

            隨筆檔案(51)

            文章分類(3)

            文章檔案(3)

            相冊(cè)

            我的鏈接

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久久久亚洲AV成人网人人网站| 午夜精品久久久久久| 亚洲精品乱码久久久久久久久久久久| 综合久久一区二区三区| 亚洲精品无码久久一线| 久久免费线看线看| 一本色道久久88综合日韩精品| 久久久久久人妻无码| 无夜精品久久久久久| 久久综合久久综合九色| 亚洲欧洲精品成人久久奇米网| 国产麻豆精品久久一二三| 久久久久国产一区二区三区| av无码久久久久不卡免费网站| 久久国产精品无码网站| 99久久精品国产麻豆| 中文字幕精品久久久久人妻| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久精品中文无码资源站| 精品久久久久久99人妻| 精品国产一区二区三区久久久狼 | 99久久夜色精品国产网站| 亚洲色大成网站WWW久久九九| 精品久久久久久久久久久久久久久| 久久久老熟女一区二区三区| 久久午夜福利无码1000合集| 久久久久99精品成人片| 久久国产精品-国产精品| 久久精品国产亚洲av麻豆小说 | 99久久99久久精品免费看蜜桃| 中文字幕乱码人妻无码久久| 一级做a爰片久久毛片毛片| 久久国产精品一区| 久久人妻少妇嫩草AV蜜桃| 国内精品久久久久久麻豆| 伊人热人久久中文字幕| 久久精品一区二区三区不卡| 久久久国产精品网站| 久久成人精品视频| 天天爽天天爽天天片a久久网| 女人香蕉久久**毛片精品|