版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、案例(n l)三 四則運算計算器 本案例知識要點 在環(huán)境下創(chuàng)建MFC AppWizard(exe)并運行的方法 利用常用(chn yn)控件設(shè)計程序界面 為控件添加事件處理程序第1頁/共50頁第一頁,共51頁。一、案例(n l)需求案例描述設(shè)計一個四則運算計算器,要求(yoqi)能夠進行加、減、乘、除運算。案例效果圖四則運算計算器運行效果如圖所示。在前兩個文本框中分別輸入?yún)⒓舆\算的兩個操作數(shù),單擊下方的運算方式按鈕時,在“計算結(jié)果”文本框中顯示運算結(jié)果。第2頁/共50頁第二頁,共51頁。四則運算(s z yn sun)計算器運行效果 第3頁/共50頁第三頁,共51頁。功能說明通過操作界面輸入?yún)?/p>
2、加(cnji)運算的操作數(shù)并選擇運算符,將運算結(jié)果顯示出來。能夠進行整數(shù)運算和小數(shù)運算。第4頁/共50頁第四頁,共51頁。二、案例(n l)分析 本案例通過(tnggu)簡單的MFC來實現(xiàn)四則運算,由于系統(tǒng)界面較為簡單,因此,通過(tnggu)建立簡單的單文檔類型的應(yīng)用程序來實現(xiàn)系統(tǒng)操作界面。通過(tnggu)文本框控件獲得用戶輸入和顯示計算結(jié)果,通過(tnggu)按鈕控件實現(xiàn)運算方式選擇以及相應(yīng)的事件處理程序,從而實現(xiàn)具體的運算過程。第5頁/共50頁第五頁,共51頁。三、案例(n l)設(shè)計 基于上述分析,定義(dngy)一個calculators類來實現(xiàn)兩個數(shù)據(jù)的四則運算,calculato
3、rs類結(jié)構(gòu)如圖所示。第6頁/共50頁第六頁,共51頁。calculators類結(jié)構(gòu)(jigu)第7頁/共50頁第七頁,共51頁。 數(shù)據(jù)成員 double Number1 用來(yn li)表示參加運算的第一個操作數(shù)。 double Number2 用來(yn li)表示參加運算的第二個操作數(shù)。 函數(shù)成員 void calculators(double dNumber1,double dNumber2) 構(gòu)造函數(shù),用來(yn li)初始化參加運算的兩個操作數(shù)。 double Add() 實現(xiàn)兩個操作數(shù)的加法運算并返回運算結(jié)果。 double Sub() 實現(xiàn)兩個操作數(shù)的減法運算并返回運算結(jié)果。
4、double Mul() 實現(xiàn)兩個操作數(shù)的乘法運算并返回運算結(jié)果。 double Div() 實現(xiàn)兩個操作數(shù)的除法運算并返回運算結(jié)果。第8頁/共50頁第八頁,共51頁。四、上機過程(guchng)創(chuàng)建MFC應(yīng)用程序啟動后,選擇“文件”“新建”命令(mng lng),打開如圖3-4所示的“新建”對話框。在“新建”對話框的“工程”選項卡中,選擇MFC AppWizard(exe)選項,創(chuàng)建一個MFC應(yīng)用程序。在“工程”文本框中輸入希望創(chuàng)建的工程名稱,同時選擇文件保存的路徑,單擊【確定】按鈕,彈出對話框。選擇【單個文檔】單選按鈕后單擊【完成】按鈕,即彈出新建工程信息”對話框,單擊【確定】按鈕即可創(chuàng)建
5、完成一個基本的單文檔MFC應(yīng)用程序框架,如圖所示。第9頁/共50頁第九頁,共51頁?;?jy)對話框的MFC應(yīng)用程序框架 第10頁/共50頁第十頁,共51頁。類的實現(xiàn)在集成環(huán)境(hunjng)中,在工作區(qū)窗口(Workspace)的ClassView選項卡中選中Calculator classes選項并右擊,在彈出的快捷菜單中選擇New Class命令,在彈出的New Class對話框中,在Class type下拉列表框中選擇Generic Class選項,在Class Information選項區(qū)域的Name文本框中輸入類名“calculators”,如圖所示,單擊【OK】按鈕創(chuàng)建calc
6、ulators類。第11頁/共50頁第十一頁,共51頁。添加(tin ji)calculators類基本信息 第12頁/共50頁第十二頁,共51頁。 創(chuàng)建完成后在類視圖(sht)的ClassView選項卡中出現(xiàn)類calculators,雙擊該類名,可以看到在文件中已經(jīng)出現(xiàn)該類的聲明,如圖所示??梢钥吹皆擃愔兄挥袠?gòu)造函數(shù)calculators ()和析構(gòu)函數(shù)calculators ()。第13頁/共50頁第十三頁,共51頁。calculators類相關(guān)內(nèi)容(nirng)信息 第14頁/共50頁第十四頁,共51頁。 在已打開的頭文件中添加calculators類的函數(shù)(hnsh)成員和數(shù)據(jù)成員的聲
7、明,如圖所示。第15頁/共50頁第十五頁,共51頁。 在頭文件中添加(tin ji)函數(shù)成員和數(shù)據(jù)成員的聲明 第16頁/共50頁第十六頁,共51頁。 在類視圖中雙擊“calculators()”函數(shù),打開文件,在文件中可以看到構(gòu)造函數(shù)calculators()和析構(gòu)函數(shù)calculators ()的實現(xiàn)代碼。在其中添加(tin ji)函數(shù)成員的實現(xiàn)代碼,如圖所示。第17頁/共50頁第十七頁,共51頁。在文件中添加(tin ji)函數(shù)成員的實現(xiàn)代碼第18頁/共50頁第十八頁,共51頁。設(shè)計系統(tǒng)界面 計算器對話框的設(shè)計在集成環(huán)境中,在工作區(qū)窗口(Workspace)的資源視圖ResourceVie
8、w選項卡中選擇Dialog選項,右擊彈出快捷菜單,選擇Insert Dialog命令,插入(ch r)新的對話框。選中對話框窗體中的【確認(rèn)】、【取消】按鈕控件,然后按【Delete】鍵將這些控件刪除,右擊Calculator窗體,在快捷菜單中選擇“屬性”命令,彈出屬性設(shè)置對話框,將其“標(biāo)題”屬性改為“計算器”。接下來分別在工具箱中將Static Text、Edit Box和Button控件拖入Calculator窗體,按照下圖所示的“計算器”對話框進行窗體設(shè)計,并且按照下表所示設(shè)置各個控件屬性。最終得到“計算器”對話框操作界面。第19頁/共50頁第十九頁,共51頁。屬性(shxng)設(shè)置對話框
9、 第20頁/共50頁第二十頁,共51頁?!坝嬎闫鳌睂υ捒蚩丶捌鋵傩?shxng) 第21頁/共50頁第二十一頁,共51頁。 菜單的設(shè)計 在工作區(qū)窗口的ResourceView選項卡中雙擊Menu目錄(ml)下的IDR_ MAINFRAME選項,彈出菜單選項。 雙擊“編輯”菜單下的“撤銷”命令,彈出屬性對話框,將命令標(biāo)題改為“計算器(&C)”,將命令I(lǐng)D改為ID_Menu_Calculator。 將不必要的命令刪除,然后將“編輯”菜單的“標(biāo)題”屬性設(shè)為“案例(&E)”。完成后生成如圖所示的菜單。第22頁/共50頁第二十二頁,共51頁。“案例(n l)”菜單 第23頁/共50頁第
10、二十三頁,共51頁。 工具欄設(shè)計 將、和三個光標(biāo)文件拷貝到工程的res文件夾下,右擊工作(gngzu)區(qū)窗口ResourceView選項卡中的Icon選項,在彈出的快捷菜單中選擇Import命令,在彈出的“導(dǎo)入資源”對話框中選擇剛才復(fù)制的光標(biāo)文件,單擊【Import】按鈕,將光標(biāo)文件導(dǎo)入工程中。 雙擊ResouceView選項卡中的IDI_ICON3選項,彈出光標(biāo)文件圖形,按【Ctrl+C】鍵將圖形內(nèi)容復(fù)制至剪貼板中,然后雙擊Toolbar目錄下的IDR_ MAINFRAME選項,在彈出的工具欄中選擇第一個按鈕,按【Ctrl+V】鍵將剛才復(fù)制的光標(biāo)圖形粘貼到工具欄按鈕上,用同樣的方法,將其他兩
11、個光標(biāo)文件依次粘貼到緊接的兩個工具欄按鈕上,接下來選中剩余的工具欄按鈕,通過拖動鼠標(biāo)的方法將它們一個個從工具欄中刪除,最后形成如圖所示的工具欄。第24頁/共50頁第二十四頁,共51頁。工具欄效果(xiogu) 第25頁/共50頁第二十五頁,共51頁。添加(tin ji)相關(guān)事件處理程序及其實現(xiàn)代碼 為對話框資源創(chuàng)建新類要對對話框資源進行引用,必須先為對話框資源創(chuàng)建新類。在資源視圖ClassView選項卡中雙擊Dialog目錄下的IDD_CALCULATOR_DIALOG選項,打開剛創(chuàng)建的“計算器”對話框,右擊對話框,在彈出的快捷菜單中選擇“建立類向?qū)А泵睿趶棾龅娜鐖D3-26所示的對話框中單
12、擊【OK】按鈕,接下來在對話框中輸入類的名稱calculatorDlg后單擊【OK】按鈕,為對話框資源創(chuàng)建一個新類。第26頁/共50頁第二十六頁,共51頁。 為相關(guān)控件連接變量 在MFC ClassWizard對話框中選擇Member Variables選項卡,在Control IDs列表框中,選擇Number1_Edit選項,單擊【Add Variable】按鈕,在彈出的對話框中的Member variable name文本框中輸入“m_Number1”,在Category下拉列表框中選擇Value選項,來為Number1_Edit文本框連接變量m_Number1。按照上面的操作步驟給另外兩
13、個(lin )文本框加入變量,如表所示。第27頁/共50頁第二十七頁,共51頁。為控件連接(linji)的變量列表 第28頁/共50頁第二十八頁,共51頁。 為相關(guān)控件添加事件處理程序 右擊【ADD_Button】按鈕,選擇Class Wizard命令,在彈出的對話框中選擇Message Map選項卡,在Object IDs列表框中選擇ADD_Button選項,在Messages列表框中選擇BN_CLICKED選項,如圖所示。 單擊右邊的【Add Function】按鈕,在彈出的對話框中輸入“OnAddButton”,為按鈕添加單擊事件。單擊【Edit Code】按鈕打開源程序文件,顯示【加】
14、按鈕的鼠標(biāo)單擊事件處理程序OnAddButton函數(shù)。按照同樣的方法(fngf)為【減】、【乘】、【除】按鈕添加事件處理程序。將對calculators類的引用#include calculators.h加入到文件中。第29頁/共50頁第二十九頁,共51頁。為【加】按鈕添加(tin ji)鼠標(biāo)單擊事件處理程序 第30頁/共50頁第三十頁,共51頁。 接下來為窗口菜單連接“計算器”對話框。打開建立類向?qū)υ捒騇FC ClassWizard,在Message Maps選項卡中的Class name下拉列表框中選擇CCalculatorView選項,在Object IDs中選擇ID_Menu_Cal
15、culator選項,在Message列表框中選擇COMMAND選項,單擊【Add Function】按鈕。在彈出的添加成員函數(shù)對話框中按照默認(rèn)的菜單成員函數(shù)名稱直接單擊【OK】按鈕為菜單添加成員函數(shù)OnMenuCalculator。單擊MFC ClassWizard對話框中的【Edit Code】按鈕,為成員函數(shù)添加代碼。將對calculatorDlg類的引用(ynyng)#include calculatorDlg.h加入到文件中。第31頁/共50頁第三十一頁,共51頁。 編譯程序源文件 按照案例一所述方法或在工具欄上單擊 按鈕對工程進行(jnxng)編譯。 連接生成可執(zhí)行文件 按照案例一所
16、述的方法或在工具欄上單擊 按鈕對正確編譯后的工程進行(jnxng)連接,生成可執(zhí)行文件。 運行程序 按照案例一所述的方法或在工具欄上單擊 按鈕運行程序。第32頁/共50頁第三十二頁,共51頁。五、案例(n l)實現(xiàn)第33頁/共50頁第三十三頁,共51頁。第34頁/共50頁第三十四頁,共51頁。第35頁/共50頁第三十五頁,共51頁。第36頁/共50頁第三十六頁,共51頁。第37頁/共50頁第三十七頁,共51頁。第38頁/共50頁第三十八頁,共51頁。第39頁/共50頁第三十九頁,共51頁。第40頁/共50頁第四十頁,共51頁。第41頁/共50頁第四十一頁,共51頁。第42頁/共50頁第四十二頁,共51頁。第43頁/共50頁第四十三頁,共51頁。第44頁/共50頁第四十四頁,共51頁。第45頁/共50頁第四十五頁,共51頁。第46頁/共50頁第四十六頁,共51頁。第47頁/共50頁第四十七頁,共51頁。第48頁/共50頁第四十八頁,共51頁。第49頁/共50頁第四十九頁,共51頁。第50頁 共50頁感謝您的觀看(gunkn
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度毛竹產(chǎn)業(yè)扶貧項目承包合同3篇
- 2025版教育信息化項目實施及合作保密協(xié)議3篇
- 二零二五年度園林綠化養(yǎng)護與節(jié)水技術(shù)應(yīng)用合同3篇
- 2025版學(xué)校門衛(wèi)服務(wù)及校園安全防范協(xié)議2篇
- 2025年度新型城鎮(zhèn)化項目賣方信貸貸款合同
- 二零二五版毛竹砍伐與生態(tài)旅游項目投資合作協(xié)議2篇
- 2025年度數(shù)據(jù)中心外接線用電環(huán)保責(zé)任合同
- 二零二五年度GRC構(gòu)件定制化設(shè)計與施工服務(wù)合同3篇
- 二零二五年度公司自愿離婚協(xié)議書編制指南
- 個人借款抵押車全面合同(2024版)2篇
- 2025屆高考語文復(fù)習(xí):散文的結(jié)構(gòu)與行文思路 課件
- 電網(wǎng)調(diào)度基本知識課件
- 拉薩市2025屆高三第一次聯(lián)考(一模)語文試卷(含答案解析)
- 《保密法》培訓(xùn)課件
- 回收二手機免責(zé)協(xié)議書模板
- (正式版)JC∕T 60023-2024 石膏條板應(yīng)用技術(shù)規(guī)程
- (權(quán)變)領(lǐng)導(dǎo)行為理論
- 2024屆上海市浦東新區(qū)高三二模英語卷
- 2024年智慧工地相關(guān)知識考試試題及答案
- GB/T 8005.2-2011鋁及鋁合金術(shù)語第2部分:化學(xué)分析
- 不動產(chǎn)登記實務(wù)培訓(xùn)教程課件
評論
0/150
提交評論