C++實驗六按鈕與列表框組合框_第1頁
C++實驗六按鈕與列表框組合框_第2頁
C++實驗六按鈕與列表框組合框_第3頁
C++實驗六按鈕與列表框組合框_第4頁
C++實驗六按鈕與列表框組合框_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、實驗(實習)名稱實驗六按鈕與列表框組合框實驗(實習)日期 得分 指導老師 李燕 系 計算機 專業(yè) 軟件工程 班級 02 姓名 學號 【目的要求】(1) 熟悉按鈕控件的創(chuàng)建和代碼的添加方法(2) 掌握列表框和組合框的添加方法及屬性設置(3) 掌握表框和組合框的操作函數(shù)(4) 了解列表框和組合框通知消息【實驗內(nèi)容】實驗A實驗內(nèi)容使用應用程序向導組建一個基于對話框的應用程序ButtonTest,界面上有兩組不同的復選框信息,一組單選框信息,提供給用戶選擇,當用戶做出選擇后,單擊“獲取結果”按鈕,能在右邊的編輯框區(qū)域顯示出選中的信息。實驗步驟(1) 啟動Visual C+6.0,利用MFC向導建立一個

2、基于對話框的應用程序:ButtonTest。(2) 利用對話框資源管理器建立程序界面。在控件工具條上依次將靜態(tài)組框控件、單選按鈕控件、復選框按鈕控件、編輯框控件拖入對話框界面上合適的位置,原界面上的默認按鈕IDCANCLE標題改為“取消”,利用Properties屬性對話框將IDOK按鈕的標題改為“獲取結果”,ID號改為IDC_BUTTONSHOW。并設置。(3) 按組合鍵Ctrl+W打開ClassWizard類向導對話框,為控件添加成員變量。(4) 雙擊對話框模板界面上每一個復選框按鈕,或按組合鍵Ctrl+W,打開類向導頁面添加每個復選框按鈕的消息響應函數(shù)。(5) 添加的消息響應函數(shù)代碼如下

3、:void CButtonTestDlg:OnCheck1()if(m_A1)m_A1=false; else m_A1=true; void CButtonTestDlg:OnCheck2() if(m_A2) m_A2=false; else m_A2=true;void CButtonTestDlg:OnCheck3() if(m_A3) m_A3=false; else m_A3=true;void CButtonTestDlg:OnCheck4()if(m_A4)m_A4=false;else m_A4=true; void CButtonTestDlg:OnCheck5() if(

4、m_B1) m_B1=false; else m_B1=true; void CButtonTestDlg:OnCheck6() if(m_B2) m_B2=false; else m_B2=true; void CButtonTestDlg:OnCheck7()if(m_B3) m_B3=false; else m_B3=true; void CButtonTestDlg:OnCheck8() if(m_B4) m_B4=false; else m_B4=true;void CButtonTestDlg:OnCheck9() if(m_B5) m_B5=false; else m_B5=tr

5、ue;說明:復選按鍵的相關變量如m_A取邏輯值true或false代表選中與否的標志。(6) 將項目工作區(qū)窗口切換到ClassView頁面,雙擊CButtonTestDlg類下的OnInitDalog()函數(shù),添加代碼如下:BOOL CButtonTestDlg:OnInitDialog() CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO1);return TRUE; (7) 進入ClassWizard頁面,在Class Name列表框中選擇CButtonTestDlg,在ObjectIDs列表中選擇IDC_BUTTONSHOW,在Messag

6、es列表中選擇BN_CLICKED單擊消息。添加“獲取結果”的消息響應函數(shù),添加代碼如下:void CButtonTestDlg:OnButtonshow() CString strCtrl; m_result="你的年齡:" UINT nID=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO4); GetDlgItemText(nID,strCtrl); m_result+=strCtrl+",愛好的運動" if(m_A1) m_result+="跑步" if(m_A2) m_result+=&q

7、uot;體操" if(m_A3) m_result+="游泳" if(m_A4) m_result+="滑冰" m_result+=",愛好的食品" if(m_B1) m_result+="牛奶" if(m_B2) m_result+="雞蛋" if(m_B3) m_result+="面包" if(m_B4) m_result+="水果" if(m_B5) m_result+="飲料" UpdateData(FALSE);(8

8、) 運行程序。左鍵單擊“獲取結果”按鈕顯示結果: 實驗B實驗內(nèi)容創(chuàng)建一個基于對話框的應用程序CountTest,頁面上編輯框用于輸入學生的姓名和三門課的成績,當用戶點擊“計算平均分”按鈕,平均分會顯示在相應的編輯框中;點擊“計算總分”按鈕,總分也顯示在相應編輯框中。實驗步驟(1) 啟動Visual C+6.0,利用應用程序向導建立一個基于對話框的應用程序CountTest。(2) 打開對話框編輯器,添加編輯框和按鈕控件,調(diào)整控件的布局。設置各控件屬性如圖: (3) 設置顯示總分和平均分的編輯框的屬性如圖。設置編輯框的屬性為only_Read,確保在此編輯中只能獲取程序內(nèi)部計算出來的值,而無法被

9、外界更改。(4) 設置旋轉按鈕屬性Auto buddy、Rigit如圖:(5) 按組合鍵Ctrl+W,打開ClassWizard類向導對話框,選中Member Variables頁面,依次為編輯框關聯(lián)變量。添加成員變量。(6) 將項目工作區(qū)窗口切換到ClassView頁面,雙擊CCountTestDlg類下的OnInitDialog(),添加代碼如下:BOOL CCountTestDlg:OnInitDialog() m_spin1.SetRange(0,100);m_spin2.SetRange(0,100);m_spin3.SetRange(0,100);return TRUE; (7)

10、按組合鍵Ctrl+W,打開類向導對話框,在Message Map頁面中分別為IDC_SPIN1、IDC_SPIN2、IDC_SPIN3添加UDN_DELTAPOS消息映射函數(shù)、并分別添加如下代碼: void CCountTestDlg:OnDeltaposSpin1(NMHDR*pNMHDR,LRESULT*pResult)NM_UPDOWN*pNMUpDown=(NM_UPDOWN*)pNMHDR;UpdateData();m_s1+=(float)pNMUpDown->iDelta*0.5f;UpdateData(FALSE);*pResult=0; void CCountTestD

11、lg:OnDeltaposSpin2(NMHDR*pNMHDR,LRESULT*pResult) NM_UPDOWN*pNMUpDown=(NM_UPDOWN*)pNMHDR: UpdateData(); m_s2+=(float)pNMUpDown->iDelta*0.5f; UpdateData(FALSE); *pResult=0; Void CCountTestDlg:OnDeltaposSpin3(NMHDR*pNMHDR,LRESULT*pResult) NM_UPDOWN*pNMUpDown=(NM_UPDOWN*)pNMHDR; UpdateData(); m_s3+=(

12、float)pNMUpDown->iDelta*0.5f; UpdateData(FALSE); *pResult=0; (8) 為程序添加消息響應函數(shù)。按組合鍵Ctrl+W,打開類向導對話框,在Message Maps頁面中為兩個按鈕IDC_BUTTONAVE和IDC_BUTTONNSUM添加單擊BN_CLICKED的消息響應函數(shù)。(9) 添加函數(shù)代碼。在類向導頁面中點擊“EditCode”按鈕,進入源程序頁面,在光標所停的地方添加代碼入下:void CCountTestDlg:OnButtonave()UpdateData();m_ave=(m_s1+m_s2+m_s3)/3;Upd

13、ateData(FALSE); void CCountTestDlg:OnButtonsum(); UpdateData(); m_sum=m_s1+m_s2+m_s3; UpdateData(FALSE); 運行結果截圖:實驗C實驗內(nèi)容利用MFC創(chuàng)建一個基于對話框的應用程序ComputerTest,程序運行結果為計算器,計算器界面上各個按鈕代表不同的計算數(shù)字和運算符,編輯框用來顯示計算結果。實驗步驟(1) 啟動Visual C+6.0,利用MFC向導創(chuàng)建一個基于對話框的應用程序CoumputerTest。(2) 將對話框模板上默認的兩個按鈕刪除,利用控件工具欄增加各個按鈕控件和編輯框控件。設

14、置控件屬性。 (3) 打開ClassWizard類向導頁面,選擇Member Variables標簽頁面,為編輯框控件IDC_EDIT1分別添加字符串類型CString和編輯框類型CEdit的變量:m_result和m_edit。添加成員變量。 (4) 雙擊數(shù)字1按鈕控件,或打開類向導中的Message Maps頁面,議案家該數(shù)字按鈕IDC_BUTTON1的單擊BN_CLICKED消息函數(shù),并添加如下代碼:void CComputerTestDlg:OnButton1()char last10;m_edit.GetWindowText(last,10);char s2="1"

15、;m_result=strcat(last,s);UpdateData(FALSE); 用同樣的方法為其他九個數(shù)字按鈕添加單擊的消息,并添加相應的代碼,只需將每個消息函數(shù)體中char s=“1”;設置為相應的數(shù)字“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“0”即可。(5) 按組合鍵Ctrl+W,打開類想到對話框,在Message Maps頁面中為“CE”復位歸零按鈕添加單擊BN_CLICKED的消息響應函數(shù),并添加如下代碼:void CComputerTestDlg:OnCe()m_edit.SetSel(0,-1);m_edit.ReplaceSel(“ ”); (6)

16、 將項目工作區(qū)窗口切換到ClassView頁面,選中CComputerTestDlg類單擊鼠標右鍵選擇Add Member Variable,為對話框類添加Public型成員變量如下:double data1,data2,result;int flag;(7) 按組合鍵Ctrl+W,打開類向導對話框,在Message Maps頁面中分別為加、減、乘、除運算符按鈕添加單擊BN_CLICKED的消息響應函數(shù),并添加如下代碼:“+”運算符:void CCoumputerTestDlg:OnAdd() char last10;m_edit.GetWindowText(last,10);data1=at

17、of(LPCTSTR) last);m_result=" "UpdateData(FALSE);flag=1; “”運算符: void CCoumputerTestDlg:OnDifference() char last10; m_edit.GetWindowText(last,10); data1=atof(LPCTSTR) last); m_result=" " UpdateData (FALSE); flag=2; “×”運算符: void CCoumputerTestDlg:OnMultiple() char last10; m_edi

18、t.GetWindowText(last,10); data1=atof(LPCTSTR) last); m_result=" " UpdateData (FALSE); flag=3; “÷”運算符:void CCoumputerTestDlg:OnDevide() char last10; m_edit.GetWindowText(last,10); data1=atof(LPCTSTR) last); m_result=" " UpdateData(FALSE); flag=4; (8) 按組合鍵Ctrl+W,打開類向導對話框,在Mess

19、age Maps頁面中為“=”按鈕添加單擊BN_CLICKED的消息響應函數(shù),并添加如下代碼:void CCoumputerTestDlg:OnResult() char s20;UpdateData();data2=atof(LPCTSTR)m_result);if(flag=1)result=data1+data2;if(flag=2)result=data1-data2;if(flag=3)result=data1*data2;if(flag=4)result=data1/data2;_gcvt(result,10,s);m_result=(LPCTSTR)s;UpdateData(FA

20、LSE);(9) 編譯運行程序,按算數(shù)運算規(guī)則可得出相應的結果。實驗(4)實驗內(nèi)容創(chuàng)建基于對話框的應用程序ComboBoxTest,在“畫筆顏色”下拉組合框中進行繪圖工具顏色的選取,在“線型”組合框中進行線條形狀的確認,單擊“繪圖”按鈕時,右邊的矩形框中出現(xiàn)相應顏色的線條。實驗步驟(1) 啟動Visual C+6.0,利用AppWizard創(chuàng)建基于對話框的應用程序ComboBoxTest。(2) 在Workspace窗口選擇Resource View選項卡,打開Dialog文件夾,雙擊對話框的IDD_COMBOBOXTEXT_DIALOG,展開對話框模板,設置控件屬性,將默認的兩個按鈕分別改為

21、“繪圖”、“退出”,設置ID號。 利用控件工具欄,依次添加各個控件,設置屬性。 注意:在組合框添加到對話框模板后,一定要單擊組合框下拉按鈕,然后調(diào)整出現(xiàn)的組合框的下拉框大小,否則組合框可能因為下拉框太小而無法顯示其下拉列表。(3) 在“畫筆顏色”下拉組合框中點擊鼠標右鍵,打開Properties屬性對話框,單擊Data選項卡,輸入有關內(nèi)容,每輸完一個列表后,同時按Ctrl鍵和Enter鍵,進入下一個列表項編輯。此數(shù)據(jù)是對組合框進行初始化。 (4) 按組合鍵Ctrl+W,打開ClassWizard類向導對話框,進入第二個標簽頁面MemberVaribles依次為對話框中相關控件添加成員變量。 (

22、5) 在ClassView頁面中選中CComboBoxTestDlg類,單擊鼠標右鍵,選擇Add Member Variable選項,添加Public屬性成員變量如下:int PenStyle;COLORREF ColorStyle;(6) 將項目工作區(qū)窗口切換到ClassView頁面,雙擊CComboBoxTestDlg類下的OnInitDialog()函數(shù),在對話框的初始化函數(shù)中添加代碼如下:BOOL CComboBoxTestDlg:OnInitDialog() m_ListShape.AddString("實線");m_ListShape.AddString(&qu

23、ot;虛線");m_ListShape.AddString("點線");ColorStyle=RGB(0,0,0);PenStyle=PS_SOLID;m_ComboColor.SetCurSel(0);m_ListShape.SetCurSel(0);return TRUE; (7) 按Ctrl+W,打開類向導對話框,選擇Message Maps標簽頁面,在Class Name列表中選擇CComboBoxTestDlg類,在Object IDs中選擇IDC_COMBOCOLOR,在消息列表中選擇CBN_SELENDOK,系統(tǒng)會自動生成消息處理函數(shù),當用戶在下拉組合框中選擇某一種顏色時,將執(zhí)行該函數(shù)體的語句,在該函數(shù)中添加的代碼如下:void CComboBoxTestDlg:OnSelendokCombocolor() int i;i=m_ComboColor.GetCurSel();if(i=0) ColorStyl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論