• <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)主要用來(lái)從某一預(yù)定義值范圍內(nèi)快速有效地進(jìn)行選擇。滾動(dòng)條分垂直滾動(dòng)條和水平滾動(dòng)條兩種。在滾動(dòng)條內(nèi)有一個(gè)滾動(dòng)框,用來(lái)表示當(dāng)前的值。用鼠標(biāo)單擊滾動(dòng)條,可以使?jié)L動(dòng)框移動(dòng)一頁(yè),鼠標(biāo)單擊滾動(dòng)條兩端的剪頭可以使?jié)L動(dòng)框移動(dòng)一行,也可以直接拖動(dòng)滾動(dòng)框。許多窗口控件如列表框和組合框等都帶有滾動(dòng)條子窗口。Win32的滾動(dòng)條支持比例滾動(dòng)框,即用滾動(dòng)框的大小來(lái)反映頁(yè)相對(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)用程序可以通過(guò)調(diào)用SendMessage向控件發(fā)送如下消息來(lái)設(shè)定控件各種參數(shù)。
            uMsg wParam lParam 說(shuō)明
            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)指針 本消息通過(guò)一個(gè)SCROLLINFO結(jié)構(gòu)來(lái)同時(shí)指定控件的多種參數(shù),具體指定哪些參數(shù)由結(jié)構(gòu)中的fMask成員確定。wParam指定是否重繪控件,詳見(jiàn)“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)一頁(yè)。
            SB_PAGEDOWN
            SB_PAGERIGHT
            用戶點(diǎn)擊了滾動(dòng)框以下(右)剪桿 滾動(dòng)框位置加上一個(gè)大單位,客戶窗口向下(右)滾動(dòng)一頁(yè)。
            SB_THUMBPOSITION 用戶拖動(dòng)并釋放滾動(dòng)框到指定位置 設(shè)定滾動(dòng)框到指定位置。客戶窗口滾動(dòng)到指定位置。
            SB_THUMBTRACK 用戶正在拖動(dòng)滾動(dòng)框 設(shè)定滾動(dòng)框到指定位置。客戶窗口滾動(dòng)到指定位置。如果應(yīng)用程序需要快速瀏覽窗口,可以響應(yīng)本消息重繪窗口,如果不需要快速瀏覽,可以等待收到SB_THUMBPOSITION消息時(shí)重繪窗口。
            SB_ENDSCROLL 用戶釋放按下剪頭或剪桿的鼠標(biāo) 無(wú)須做任何響應(yīng)
              應(yīng)用程序可以通過(guò)調(diào)用SendMessage向控件發(fā)送如下消息來(lái)取得當(dāng)前控件各種參數(shù)。
            uMsg wParam lParam 說(shuō)明
            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成員來(lái)確定具體要取得哪些參數(shù)。詳見(jiàn)“SCROLLINFO結(jié)構(gòu)”
              當(dāng)控件需要重畫時(shí)向每父窗口發(fā)送WM_CTLCOLORSCROLLBAR消息,同時(shí)在wParam中帶控件的設(shè)備場(chǎng)景句柄(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
            成員說(shuō)明:
              cbSize: SCROLLINFO結(jié)構(gòu)長(zhǎng)度字節(jié)數(shù),該值在設(shè)置和查詢參數(shù)時(shí)都必須填寫。
              fMask: 指定結(jié)構(gòu)中的哪些成員是有效,該值共有如下5種選擇,可以選擇多種用“OR”組合起來(lái),該值在設(shè)置和查詢參數(shù)時(shí)都必須填寫。
                SIF_ALL      :整個(gè)結(jié)構(gòu)都有效
                SIF_DISABLENOSCROLL:該值僅在設(shè)定參數(shù)時(shí)使用,視控件參數(shù)設(shè)定的需要來(lái)對(duì)本結(jié)構(gòu)的成員進(jìn)行取舍。
                SIF_PAGE      :nPage成員有效
                SIF_POS      :nPos成員有效
                SIF_RANGE     :nMin和nMax成員有效
              nMin:滾動(dòng)范圍最小值
              nMax:滾動(dòng)范圍最大值
              nPage:頁(yè)尺寸,用來(lái)確定比例滾動(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開(kāi)發(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)雅就是簡(jiǎn)單的邏輯
            應(yīng)該說(shuō)GUI應(yīng)該存在一種語(yǔ)言,專門描述界面
            而不是搞在程序里,程序應(yīng)該只處理數(shù)據(jù)或者業(yè)務(wù)。而界面應(yīng)該獨(dú)立出來(lái)  回復(fù)  更多評(píng)論
              

            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(6)

            隨筆分類(35)

            隨筆檔案(51)

            文章分類(3)

            文章檔案(3)

            相冊(cè)

            我的鏈接

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久久久久久91精品免费观看| 日韩一区二区久久久久久 | 麻豆亚洲AV永久无码精品久久| 99久久香蕉国产线看观香| 亚洲国产精品无码久久| 中文字幕亚洲综合久久| 久久亚洲国产精品五月天婷| 日日躁夜夜躁狠狠久久AV| 国产精品成人久久久久久久| 久久久久av无码免费网| 91麻豆精品国产91久久久久久| 久久精品国产乱子伦| 精品综合久久久久久88小说| 久久精品国产亚洲AV无码麻豆| 欧美久久亚洲精品| 老司机国内精品久久久久| 色婷婷综合久久久久中文一区二区 | 久久人妻少妇嫩草AV蜜桃| 日日噜噜夜夜狠狠久久丁香五月| 久久97久久97精品免视看| 丁香狠狠色婷婷久久综合| 99久久无色码中文字幕人妻| 久久九色综合九色99伊人| 久久国产精品成人免费| 久久精品亚洲一区二区三区浴池| 一本大道久久香蕉成人网| 久久国产精品无码网站| 国产免费久久久久久无码| 四虎国产精品免费久久5151| 乱亲女H秽乱长久久久| 77777亚洲午夜久久多喷| 亚洲美日韩Av中文字幕无码久久久妻妇| 久久久久四虎国产精品| 久久91精品国产91久久小草| 亚洲精品无码专区久久久| 狠狠色噜噜色狠狠狠综合久久| 色欲综合久久躁天天躁| 女人高潮久久久叫人喷水| 久久婷婷国产剧情内射白浆| 青青草原综合久久大伊人| 久久久久久伊人高潮影院|