日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MFC中滑动条的使用

發布時間:2024/8/23 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC中滑动条的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

滑動控件是Windows中最常用的控件之一。一般而言它是由一個滑動條,一個滑塊和可選的刻度組成,用戶可以通過移動滑塊在相應的控件中顯示對應的值。通常,在滑動控件附近一定有標簽控件或編輯框控件,用于顯示相應的值?;瑒涌丶趹贸绦蛑杏猛炯墳閺V泛,如在桌面的屬性中就可以看到。為此,讓我們一起來看一下它的實現方法。
(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 CSliderDlg::OnNMCustomdrawSdr1(NMHDR *pNMHDR, LRESULT *pResult) {LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);// TODO: 在此添加控件通知處理程序代碼*pResult = 0;UpdateData(TRUE);CString str;int sldValue = m_sldThresh.GetPos(); str.Format("%d", sldValue);m_editThresh.SetWindowText(str);UpdateData(FALSE); }

如果你需要添加編輯控件,并能夠使用滑動slider可以顯示編輯控件的值,也可以設置編輯控件的值來滑動slider,需要下面代碼:

void CSliderDlg::threshEdit() {// TODO: 如果該控件是 RICHEDIT 控件,則它將不會// 發送該通知,除非重寫 CDialog::OnInitDialog()// 函數并調用 CRichEditCtrl().SetEventMask(),// 同時將 ENM_CHANGE 標志“或”運算到掩碼中。// TODO: 在此添加控件通知處理程序代碼UpdateData(TRUE);CString str;m_editThresh.GetWindowText(str);m_sldThresh.SetPos(atoi(str));m_editThresh.SetSel(str.GetLength(), str.GetLength(),TRUE);UpdateData(FALSE); }

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

轉載于:https://www.cnblogs.com/leven20061001/archive/2012/10/16/2726423.html

總結

以上是生活随笔為你收集整理的MFC中滑动条的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。