MFC中滚动条slider和编辑框edit的联动
想在MFC中實現滾動條slider和編輯框edit的聯動(改變滾動條,顯示數字在編輯框),同時想要添加兩個滾動條,分別控制亮度和對比度。參考了幾個博客在VS2017中跑不出來。自己寫了一個能運行的版本,供大家參考。這里沒有給出改變對比度和亮度的函數,只是實現實現滾動條slider和編輯框edit的聯動。
最終實現的效果
第一部分:滾動條和編輯框聯動部分。
第一步 ,在資源試圖界面找到Dialog,打開Dialog界面(這里用的是MFC基于對話框類型)
在工具箱中雙擊slider control,添加兩個。然后同樣的道理,添加兩個edit control。
添加完如下圖所示(前面我又自行添加了兩個Static Text靜態文本,修改成亮度和對比度,以此來標識,看起來更清晰)。
第二步,給滾動條(slider)添加兩個變量。
一個是控件類型,另一個是值類型。下面就以其中一個滾動條為例。該控件的ID名稱是IDC_SLIDER1,對應的是上圖中的亮度對應的滾動條的ID。
【1】右擊滾動條,選擇添加變量。如下圖,一般只需要修改三個地方。類別,名稱,訪問(一般是private),這里改成:類別:控件,訪問:private,名稱:m_slider.然后點擊完成,這樣就添加好了控件類型的變量。
【2】再來添加值類型的變量。同樣的,右擊同一個滾動條,選擇添加變量,此處修改類別:值,訪問:private,名稱改為m_int。點擊完成即可。
用同樣的手法給另外一個滾動條添加兩個變量。如下圖所示。
【1】控件類型變量。控件ID為:IDC_SLIDER2,名稱:m_slider2
【2】值類型變量。數值變量名稱為m_int2
再來看一下整個界面
第三步,滾動條初始化。
打開類試圖,找到下面
在初始化部分BOOL CMFCApplication1Dlg::OnInitDialog()底下,找到下面這個位置,在TODO后面添加如下代碼:
第四步,給滾動條添加事件
右擊整個對話框(不是某一個控件),選擇類向導,選擇消息,找到WM_HSCROLL,雙擊,之后點擊確定。
然后彈出如下界面
這里就是實現滾動條和編輯框聯動的地方(改變滾動條,顯示相應的值)需要注意的是,滾動條和按鈕不一樣,按鈕可以添加很多的消息,而滾動條只有這么一個,因為它是在整個對話框頁面設置的。那該怎么區分不同的滾動條呢?
方法是通過pSlider->GetDlgCtrlID()來和滾動條的ID來比較,區分是對不同的滾動條進行操作。
代碼如下:
最終的運行結果
總結:
1.安放控件
2.添加變量:控件類型和值類型。
3.初始化
4.添加事件。注意滾動條消息是對于整個頁面的,對不同的滾動條的處理事件都寫在這底下,區分的依據是對ID進行識別。
總結
以上是生活随笔為你收集整理的MFC中滚动条slider和编辑框edit的联动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双击.exe文件出现Debug Erro
- 下一篇: csdn在markdown笔记中复制代码