• <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>

            VC++中輕松實現滑動(Slider)控件

            滑動控件是Windows中最常用的控件之一。一般而言它是由一個滑動條,一個滑塊和可選的刻度組成,用戶可以通過移動滑塊在相應的控件中顯示對應的值。通常,在滑動控件附近一定有標簽控件或編輯框控件,用于顯示相應的值。滑動控件在應用程序中用途級為廣泛,如在桌面的屬性中就可以看到。為此,讓我們一起來看一下它的實現方法。

              (1)在VC++ 6.0中新建一個對話框文檔的工程。

              (2)打開資源管理器,在對話框中放置一個EDIT控件,然后在它旁邊放上一個Slider控件。基本的框架已經完成了。

              (3)對Slider控件右擊,選擇“建立類向導”,對剛才的Slider控件定義一個變量m_Slider,類型為CSliderCtrl。

              (4)在對話框初始化的代碼BOOL CMy601Dlg::OnInitDialog(),后添加相應的屬性。以下是常用的屬性設置函數:

              * GetRange,SetRange函數

              用于查詢和設置滑動條的取值范圍,默認為0~100。函數定義形式如下:

            void GetRange(int &nMin,int &nMax) const;
            void SetRange(int nMin,int nMax,BOOL bRedrGETaw=FALSE);

              * GetPos,SetPos函數

              用于查詢和設置滑動條的當前值。函數定義形式如下:

            int GetPos() const;
            int SetPos(int nPos);

              * GetLineSize,SetLineSize函數

              用于查詢和設置在按一下右或左箭頭時滑塊的移動量,默認為1個單位。函數定義形式如下:

            int GetLineSize() const;
            int SetLineSize(int nSize);

              * GetPageSize,SetPageSize函數

              用于查詢和設置函滑塊和塊移動量,塊移動量是指當按下PgUp或PgDown時滑塊的移動量。函數定 義形式如下:

            int GetPageSize() const;
            int SetPageSize(int nSize);

              * SetTicFreq函數

              用于設置滑動條刻度的頻度。默認為一個單位一個函數。函數定義形式如下:

            void SetTicFreq(int nFreq);

              * SetTic函數

              用于在指定的位置設置刻度。Windows默認的刻度是均勻的。函數定義形式如下:

            BOOL SetTic(int nTic);

              * ClearTics函數

              用于清除所有的刻度。函數定義形式如下:

            void ClearTics(BOOL bRedraw=FALSE);

              我們在初始化時寫入以下語句:

            m_Slider.SetRange(-100,100);
            m_Slider.SetTicFreq(10);

              即:設置范圍為-100到100,刻度為每10個單位一個。

              (5)現在我們加入事件過程代碼。

              選擇Slider的“事件”然后選擇第一個過程(NM_CUSTOMDRAW)隨后加入以下代碼:

            void CMy601Dlg::OnCustomdrawSlider1(NMHDR* pNMHDR, LRESULT* pResult)
            {
            UpdateData(TRUE);
            m_Int=m_Slider.GetPos();
            UpdateData(FALSE);
            *pResult = 0;
            }

              其中m_Int是定義的EDIT控件的類型為INT的變量。至此我們的編輯工作結束了。

              (6)編譯運行程序試試吧,很方便就使用了Slider 控件。 

             

              以上代碼在Windows2000,VC++ 6.0/VC++.net上調試通過。

            posted on 2008-04-11 08:52 wrh 閱讀(871) 評論(0)  編輯 收藏 引用

            導航

            <2011年3月>
            272812345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            統計

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久99这里有精品10| 久久综合久久综合久久| 久久伊人五月丁香狠狠色| 中文字幕无码久久精品青草| 亚洲精品无码久久久久久| 99久久国产主播综合精品| 日本WV一本一道久久香蕉| 久久线看观看精品香蕉国产| 99久久无色码中文字幕人妻| 日本精品久久久久中文字幕| 久久亚洲国产精品成人AV秋霞| 中文精品久久久久国产网址| 伊人久久精品无码av一区| 精品熟女少妇aⅴ免费久久| 久久精品国产亚洲AV大全| 九九精品久久久久久噜噜| 国产免费福利体检区久久| 久久中文骚妇内射| 伊人久久大香线蕉AV色婷婷色| 欧美午夜A∨大片久久| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 久久精品国产第一区二区| av无码久久久久不卡免费网站| 久久笫一福利免费导航| 久久人妻少妇嫩草AV无码蜜桃| 久久久久久免费一区二区三区| 亚洲AV无码1区2区久久| 2021国内精品久久久久久影院| 日本欧美国产精品第一页久久| 国产综合精品久久亚洲| 99久久夜色精品国产网站| 91久久精品无码一区二区毛片| 狠狠色婷婷综合天天久久丁香 | 一级做a爰片久久毛片16| 伊人丁香狠狠色综合久久| 国产精品成人无码久久久久久| 18岁日韩内射颜射午夜久久成人 | 久久免费香蕉视频| 日批日出水久久亚洲精品tv| 少妇久久久久久被弄到高潮| 2021久久精品免费观看|