




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、于東2015,第三周單選按鈕(Radio Button)多選按鈕(Check Box)2Button普通按鈕 Radio Button文藝按鈕Check Box 多選按鈕3只能選一個(gè)能選多個(gè)單選按鈕一般有兩種用途記錄用戶的選擇記錄用戶的選擇在程序中通過(guò)編程對(duì)單選按鈕進(jìn)行在程序中通過(guò)編程對(duì)單選按鈕進(jìn)行查詢,判斷哪個(gè)選項(xiàng)處于選中狀態(tài),并進(jìn)行相應(yīng)的動(dòng)作。查詢,判斷哪個(gè)選項(xiàng)處于選中狀態(tài),并進(jìn)行相應(yīng)的動(dòng)作。 響應(yīng)單擊事件響應(yīng)單擊事件與普通按鈕類似,只是多了一個(gè)選中與普通按鈕類似,只是多了一個(gè)選中標(biāo)記,同時(shí)會(huì)有互斥的效果。標(biāo)記,同時(shí)會(huì)有互斥的效果。響應(yīng)單擊事件 與普通按鈕相同,直接添加響應(yīng)函數(shù)進(jìn)行處理,多
2、個(gè)單選與普通按鈕相同,直接添加響應(yīng)函數(shù)進(jìn)行處理,多個(gè)單選控件之間的互斥由控件自動(dòng)實(shí)現(xiàn)。控件之間的互斥由控件自動(dòng)實(shí)現(xiàn)。 缺點(diǎn),如果一個(gè)頁(yè)面上有很多個(gè)單選框,將產(chǎn)生很多個(gè)消缺點(diǎn),如果一個(gè)頁(yè)面上有很多個(gè)單選框,將產(chǎn)生很多個(gè)消息響應(yīng)函數(shù)息響應(yīng)函數(shù)比如,選擇星座,選擇家鄉(xiāng)所在的省份。比如,選擇星座,選擇家鄉(xiāng)所在的省份。4單選按鈕的“分組”概念的設(shè)置方法 同屬于一個(gè)組的若干單選按鈕,最多只有一個(gè)能夠處于選同屬于一個(gè)組的若干單選按鈕,最多只有一個(gè)能夠處于選中狀態(tài)。默認(rèn)情況下,整個(gè)屏幕上所有單選按鈕都被劃分中狀態(tài)。默認(rèn)情況下,整個(gè)屏幕上所有單選按鈕都被劃分為一個(gè)組。因此,使用多個(gè)單選項(xiàng),就要重新設(shè)置單選按為一
3、個(gè)組。因此,使用多個(gè)單選項(xiàng),就要重新設(shè)置單選按鈕的分組。鈕的分組。 如何分組?假設(shè)所有單選按鈕是可以排序的,比如如何分組?假設(shè)所有單選按鈕是可以排序的,比如8 8個(gè)按個(gè)按鈕分別是鈕分別是1, 3, 5, 6, 8, 9, 12, 201, 3, 5, 6, 8, 9, 12, 20,那么可以指定按鈕,那么可以指定按鈕1 1和按鈕和按鈕8 8是分組的是分組的“開頭開頭”。兩個(gè)。兩個(gè)“開頭開頭”之間的所有單選按鈕同之間的所有單選按鈕同屬于一個(gè)組。屬于一個(gè)組。這就是分組設(shè)置方法。這就是分組設(shè)置方法。 默認(rèn)情況下,每個(gè)控件都有一個(gè)默認(rèn)情況下,每個(gè)控件都有一個(gè)tabtab順序。順序。MFCMFC按照這個(gè)
4、順按照這個(gè)順序?qū)λ袉芜x按鈕能進(jìn)行排序。序?qū)λ袉芜x按鈕能進(jìn)行排序。TabTab順序可以通過(guò)順序可以通過(guò)Ctrl+DCtrl+D來(lái)修改。來(lái)修改。5單選按鈕的“分組”概念的設(shè)置方法 綜上,對(duì)多組單選按鈕的分組,步驟如下:綜上,對(duì)多組單選按鈕的分組,步驟如下: 1. 1. 布局所有的單選按鈕布局所有的單選按鈕 2. 2. 用用Ctrl+dCtrl+d對(duì)所有單選按鈕設(shè)置對(duì)所有單選按鈕設(shè)置tabtab順序。期望放在一起的順序。期望放在一起的按鈕具有相鄰的順序。按鈕具有相鄰的順序。 3. 3. 在期望分為一組的單選按鈕中,選擇在期望分為一組的單選按鈕中,選擇tabtab順序最小的,在順序最小的,在其屬性
5、中選擇其屬性中選擇groupgroup選項(xiàng)。該按鈕將作為本組的選項(xiàng)。該按鈕將作為本組的headhead。 4. 4. 一個(gè)組的單選按鈕中,只有具有一個(gè)組的單選按鈕中,只有具有g(shù)roupgroup屬性的按鈕能夠使屬性的按鈕能夠使用用intint類型的類成員變量。它將類型的類成員變量。它將“代表代表”同組的其余的按鈕。同組的其余的按鈕。6單選按鈕選中狀態(tài)的獲取。一共有三種方法。MethodMethod 1 1:為一組單選按鈕添加一個(gè):為一組單選按鈕添加一個(gè) intint 型變量,通過(guò)檢查型變量,通過(guò)檢查該變量值,確定哪個(gè)按鈕被選中。需要更新數(shù)據(jù)。該變量值,確定哪個(gè)按鈕被選中。需要更新數(shù)據(jù)。 Met
6、hodMethod 2 2:利用:利用GetDlgItemGetDlgItem方法獲取按鈕指針,利用方法獲取按鈕指針,利用GetCheckGetCheck方法查詢是否選中??梢灾苯邮褂?。方法查詢是否選中??梢灾苯邮褂?。 MethodMethod 3 3:利用:利用IsDlgButtonChecked(IDD)= BST_CHECKEDIsDlgButtonChecked(IDD)= BST_CHECKED方法方法判斷判斷IDDIDD對(duì)應(yīng)的控件是否被選中。可以直接使用。對(duì)應(yīng)的控件是否被選中??梢灾苯邮褂?。7單選按鈕選中狀態(tài)的設(shè)置。MethodMethod 1 1:為一組單選按鈕添加一個(gè):為一組單
7、選按鈕添加一個(gè) intint 型變量,通過(guò)檢查型變量,通過(guò)檢查該變量值,確定哪個(gè)按鈕被選中。需要更新數(shù)據(jù)。該變量值,確定哪個(gè)按鈕被選中。需要更新數(shù)據(jù)。 MethodMethod 2 2:利用:利用GetDlgItemGetDlgItem方法獲取按鈕指針,利用方法獲取按鈕指針,利用GetCheckGetCheck方法查詢是否選中??梢灾苯邮褂?。方法查詢是否選中??梢灾苯邮褂?。 MethodMethod 3 3:利用:利用IsDlgButtonChecked(IDD)= BST_CHECKEDIsDlgButtonChecked(IDD)= BST_CHECKED方法方法判斷判斷IDDIDD對(duì)應(yīng)的
8、控件是否被選中??梢灾苯邮褂?。對(duì)應(yīng)的控件是否被選中。可以直接使用。89Step1:建立對(duì)話框程序Step2:放置兩個(gè)單選按鈕,修改ID和標(biāo)題Step3:放置一個(gè)“組框(Group Box)”,把單選按鈕 放在其中Step4:重復(fù)step3,放置4個(gè)單選按鈕和一個(gè)組框Step5:選擇每個(gè)組框內(nèi)的第一個(gè)按鈕,添加其 Group屬性Step6:添加靜態(tài)文本控件,并為其添加Cstirng變量Step7:添加按鈕控件,添加一個(gè)響應(yīng)函數(shù)10Step8: 直接為男生/女生兩個(gè)按鈕添加消息響應(yīng)函數(shù),與添加Button的消息響應(yīng)函數(shù)相同。Step9: 添加代碼:Step10:設(shè)置默認(rèn)的生日選擇。在OnInitD
9、ialog函數(shù) 中return語(yǔ)句前添加:注:這也是設(shè)置某個(gè)RadioButton為選中狀態(tài)的方法。11Step11:編寫“獲取生日”按鈕響應(yīng)函數(shù)依次類推編寫4個(gè)按鈕的判斷代碼,updatedata(false);一種簡(jiǎn)寫的代碼,可以是12單選按鈕(Radio Button)多選按鈕(Check Box)靜態(tài)控件(Static )13多選按鈕的“分組”屬性用處不大。 不論如何,都要逐一判斷選中情況。不論如何,都要逐一判斷選中情況。 因此,每個(gè)多選按鈕都能夠添加一個(gè)成員變量,默認(rèn)是因此,每個(gè)多選按鈕都能夠添加一個(gè)成員變量,默認(rèn)是boolbool型。型。 Method1Method1: 為為每一個(gè)
10、復(fù)選按鈕每一個(gè)復(fù)選按鈕建立一個(gè)建立一個(gè) boolbool型的變量,型的變量,truetrue表示選中,表示選中,falsefalse表示未選中。表示未選中。 Method2Method2:利用:利用GetDlgItemGetDlgItem方法獲取按鈕指針,利用方法獲取按鈕指針,利用GetCheckGetCheck方法查詢是否選中。(與單選按鈕相同)方法查詢是否選中。(與單選按鈕相同)14在剛才的程序中添加一欄15上面的按鈕使用方法中,有一個(gè)很大的問(wèn)題:多選按鈕與一個(gè)bool類型變量綁定。如果界面中有很多個(gè)多選按鈕,那么需要綁定的變量數(shù)量很多,給dlg類帶來(lái)很大負(fù)擔(dān)。對(duì)于類來(lái)說(shuō),一般希望其中的成員變量盡可能少,用函數(shù)中的局部變量來(lái)解決問(wèn)題。16多選按鈕,其實(shí)就是Cbutton類的對(duì)象。因此,是否有方法直接對(duì)該對(duì)象進(jìn)行編程?看如下代碼:CButton* pButton = NULL;pButton = (CButton*)GetDlgItem(IDC_CHECK1);if (pButton-GetCheck() = BST_CHECKED) m_strStaticResult += 聽音樂,;17DEMO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)院信息化建設(shè)新趨勢(shì):電子病歷系統(tǒng)醫(yī)療信息化技術(shù)創(chuàng)新報(bào)告001
- 2025年醫(yī)院電子病歷系統(tǒng)優(yōu)化與醫(yī)療信息化產(chǎn)業(yè)生態(tài)協(xié)同創(chuàng)新模式實(shí)踐報(bào)告001
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)模式下的合同管理與合規(guī)性報(bào)告
- 2025年工業(yè)互聯(lián)網(wǎng)平臺(tái)量子通信技術(shù)在智能物流領(lǐng)域的應(yīng)用研究報(bào)告
- 風(fēng)格美學(xué)培訓(xùn)課件
- 2025年工業(yè)互聯(lián)網(wǎng)平臺(tái)區(qū)塊鏈智能合約安全防護(hù)技術(shù)與風(fēng)險(xiǎn)評(píng)估報(bào)告
- 2025年財(cái)富管理行業(yè)客戶需求研究與服務(wù)升級(jí)策略報(bào)告
- 2025年儲(chǔ)能電池?zé)峁芾硐到y(tǒng)在智慧農(nóng)業(yè)領(lǐng)域的應(yīng)用前景報(bào)告
- 會(huì)計(jì)培訓(xùn)試講課件
- 證監(jiān)局法制培訓(xùn)課件下載
- 《取水許可核驗(yàn)報(bào)告編制導(dǎo)則(試行)(征求意見稿)》
- 2023年國(guó)開(中央電大)04114《會(huì)計(jì)學(xué)概論》題庫(kù)及標(biāo)準(zhǔn)答案
- 保安交通指揮手勢(shì)培訓(xùn)
- 中建測(cè)評(píng)2024二測(cè)題庫(kù)及答案
- 拉薩餐飲市場(chǎng)分析報(bào)告
- Filemaker數(shù)據(jù)庫(kù)使用指南知識(shí)分享
- 國(guó)開《Windows網(wǎng)絡(luò)操作系統(tǒng)管理》形考任務(wù)四
- 人體器官有償捐贈(zèng)流程
- 國(guó)開04623- 會(huì)計(jì)信息系統(tǒng)機(jī)考復(fù)習(xí)資料
- 第七次課第四章證據(jù)的學(xué)理分類
- 學(xué)生人力資源(董克用)復(fù)習(xí)題匯總
評(píng)論
0/150
提交評(píng)論