• <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>
            隨筆-4  評論-40  文章-117  trackbacks-0



            在MFC中滑動條(CSliderCtrl)是個常用的控件,用法如下:

            主要要方法有:

            1、設(shè)置、取得滑動范圍:

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


            2、設(shè)置、取得按下左右箭頭滑動間隔:

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


            3、設(shè)置、取得按下PgUp、PgDown時滑動間隔:

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


            4、設(shè)置、取得滑塊位置:

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


            5、設(shè)置滑動條刻度的頻度:

             void SetTicFreq( int nFreq );


            實例:

            在對話框中放一個Slider控件,添加相應(yīng)的Ctrl型變量為m_slider。在對話框初始化函數(shù)OnInitDialog()中添加:

             BOOL CDlgSetup::OnInitDialog()
            {
             CDialog::OnInitDialog();
             
             // TODO: Add extra initialization here

             m_slider.SetRang(0,100);//設(shè)置滑動范圍

             m_slider.SetTicFreq(10);//每10個單位畫一刻度
             return TRUE;  // return TRUE unless you set the focus to a control
                           // EXCEPTION: OCX Property Pages should return FALSE
            }
             


             Slider控件本身并沒有響應(yīng)滑動的消息函數(shù),但可以通過主窗體的OnHScroll()響應(yīng)。在類向?qū)е袨閷υ捒蛱砑覹M_HSCROLL消息,在響應(yīng)函數(shù)中添加:

             void CDlgSetup::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
            {
             // TODO: Add your message handler code here and/or call default
             CSliderCtrl   *pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_SLIDER1);
             m_int=pSlidCtrlHue->GetPos();//取得當(dāng)前位置值 
              CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
            }

            //m_int 即為當(dāng)前滑塊的值。
             

             
            本篇文章來源于 3SDN  轉(zhuǎn)載請以鏈接形式注明出處 網(wǎng)址:http://www.3sdn.net/programing/vc/2008-12-01/107.html

            posted on 2009-05-06 16:19 李陽 閱讀(26224) 評論(6)  編輯 收藏 引用

            評論:
            # re: [VC/MFC]滑動動條控件Slider的用法 2009-05-18 12:12 | zhangyingshuo
            請問如何設(shè)置滑動條在窗口中的坐標(biāo)呢?不是滑塊位置……  回復(fù)  更多評論
              
            # re: [VC/MFC]滑動動條控件Slider的用法 2009-05-19 09:21 | 李陽
            @zhangyingshuo

            class CSliderCtrl : public CWnd

            CSliderCtrl也是一個窗口嘛,可以使用 SetWindowPos 或者 MoveWindow
            來設(shè)置它在其父窗口中的位置。  回復(fù)  更多評論
              
            # re: [VC/MFC]滑動動條控件Slider的用法 2009-06-01 10:20 | 木透
            請問怎么顯示每個刻度對應(yīng)的刻度值呢?而且不想全部顯示
            譬如說它有20個刻度 我只想在0,5,10,15,20顯示對應(yīng)的刻度值數(shù)字
            應(yīng)該怎么做?  回復(fù)  更多評論
              
            # re: [VC/MFC]滑動動條控件Slider的用法 2009-07-07 14:55 | 張武
            我設(shè)計的界面是: 滑竿旁邊有個編輯框,用來顯示滑竿的值,如何在鼠標(biāo)點擊滑竿,但并未松開就在編輯框里及時顯示滑竿的當(dāng)前值? 通俗點, 就是鼠標(biāo)在拖動滑竿時,編輯框怎樣及時顯示當(dāng)前值?  回復(fù)  更多評論
              
            # re: [VC/MFC]滑動動條控件Slider的用法 2009-07-08 13:31 | 李陽
            @張武
            當(dāng)下列情況發(fā)生時,SliderCtrl的父窗口都會收到 WM_HSCROLL(水平方向控件) 或者 WM_VSCROLL(豎直方向控件) 通知消息。
            <1>. 用鼠標(biāo)點擊滑桿,點擊一次收到一條通知消息.
            <2>. 按下鼠標(biāo)拖動滑桿,拖動時會不斷收到通知消息.
            <3>. 按下方向鍵,按一次,收到一條通知消息.
            <4>. 按下 PageUp , PageDown 鍵,同上.
            <5>. 按下 Home, End 鍵,同上.

            所以實現(xiàn)你所要的功能只需要在父窗口里處理 WM_HSCROLL 或者 WM_VSCROLL消息即可。

            假設(shè)你的滑桿,編輯框控件ID分別為 IDC_SLIDER1, IDC_EDIT1.

            void CScrollBar_TestDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
            {
            if( pScrollBar->GetDlgCtrlID() == IDC_SLIDER1 )
            {
            // nPos就是此時滑桿的位置,顯示到 CEdit 就可以了
            char temp[30];
            sprintf_s(temp, 30, "%d", nPos);

            //或者 獲取 Slider 當(dāng)前位置
            sprintf_s(temp, 30, "%d", ((CSliderCtrl*)pScrollBar)->GetPos());

            GetDlgItem(IDC_EDIT1)->SetWindowText(temp);
            }
            }
              回復(fù)  更多評論
              
            # re: [VC/MFC]滑動動條控件Slider的用法 2011-04-15 15:18 | 實數(shù)
            sprintf_s是怎么定義的@李陽
              回復(fù)  更多評論
              

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            国产免费久久精品丫丫| 精品人妻伦九区久久AAA片69| 精品久久久久久久中文字幕| 久久婷婷国产剧情内射白浆| 国产免费久久精品99久久| 国产香蕉97碰碰久久人人| 久久精品夜色噜噜亚洲A∨| 久久久久久国产精品无码下载| 久久乐国产精品亚洲综合| 国产精品久久婷婷六月丁香| 色偷偷88欧美精品久久久| 久久精品国产亚洲av麻豆图片| 亚洲国产另类久久久精品小说| 国产精品久久久久久吹潮| 精品熟女少妇aⅴ免费久久| 中文精品99久久国产| 久久久一本精品99久久精品88| 99久久精品日本一区二区免费| 91麻豆精品国产91久久久久久| 亚洲国产婷婷香蕉久久久久久| 国内精品九九久久精品| 中文字幕久久欲求不满| 久久综合久久综合亚洲| 国产午夜精品久久久久免费视| 99久久综合国产精品二区| 久久亚洲AV成人无码软件| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久99精品国产| 99久久99久久精品国产片果冻| 伊人丁香狠狠色综合久久| 性欧美丰满熟妇XXXX性久久久| 国产—久久香蕉国产线看观看| 看久久久久久a级毛片| 性做久久久久久久久| 国产欧美久久久精品| 亚洲成色www久久网站夜月| 国产精久久一区二区三区| 国产精品久久久久久福利漫画| 久久久亚洲裙底偷窥综合| 麻豆久久久9性大片| 亚洲精品无码久久久|