滑動控制項是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)
其中m_int是定義的edit控制項的型別為int的變數。至此我們的編輯工作結束了。
(6)編譯執行程式試試吧,很方便就使用了slider 控制項。
MFC控制項之滑動條 slider的簡單使用
1,將控制項slider control拖放到對話方塊中 2為slider control新增control型變數m slider 3,使用類嚮導,給對話方塊類新增 虛函式 oninitdialog 4,在cmyimagge.cpp中,對oninitdialog 函式進行編寫 cmyimage 訊息...
mfc中滑動條的使用(實現和編輯框的關聯)
滑動控制項是windows中最常用的控制項之一。一般而言它是由乙個滑動條,乙個滑塊和可選的刻度組成,使用者可以通過移動滑塊在相應的控制項中顯示對應的值。通常,在滑動控制項附近一定有標籤控制項或編輯框控制項,用於顯示相應的值。滑動控制項在應用程式中用途級為廣泛,如在桌面的屬性中就可以看到。為此,讓我們...
MFC滑動條結合編輯框使用
1.新增slidercontrol控制項,新增乙個編輯框 2.為其新增變數m slider control型別 m edit int型 3.在oninitdialog中新增 m slider.setrange 1,100 設定範圍 m slider.setticfreq 1 設定步長 m slide...