C++做四則運算的MFC計算器(一)MFC界面創建


 

學習最有效的方法就是實戰,這兩篇文章寫了做MFC加減乘除計算器的過程。

第一寫前台MFC界面搭建,第二寫后台計算原理及代碼。

MFC編程參考教程:http://www.jizhuomi.com/school/c/149.html

第二篇文章鏈接:C++做四則運算的MFC計算器(二)棧轉換和計算后綴表達式

搭建MFC項目

以VS2017為例,新建項目->MFC項目,寫名字,設路徑

 

應用程序類型,選擇基於對話框的,其他默認即可,直到最后一步

生成的類選擇Dlg

 

 

完成后,項目里會有很多自動添加的資源

.ico是圖標,隨便玩。

.rc和.rc2:rc2文件包含項目使用的附加資源的腳本文件。可以在項目的 .rc 文件的頂部包括 .rc2 文件。 .rc2 文件用於存放由多個不同項目使用的資源。不必為不同的項目多次創建相同的資源,而是可以將它們放在一個 .rc2 文件中,然后將該 .rc2 文件包括在主 .rc 文件中。雙擊都會調到資源視圖,在這編輯界面。

Dialog就是主要編輯的地方,ABOUTBOX是幫主窗口,MFCCALCULATION_DIALOG是主要窗口

 

那怎么加東西呢?在工具箱里,工具箱一般在側面的一個犄角格拉里,豎着的,里面有各種組件,感興趣的玩玩看。

 

 

此處用button按鈕、Edit Control編輯框和static text靜態文本就夠了。

把button拖到界面上,再按Ctrl拖能復制,數字0-9、+、-、*、/、(、)、刪除、清空和 =,19個按鈕。用參考線(格式->參考線設置)布局更方便。

右鍵按鈕->屬性,顯示控件的各種屬性,其中Caption屬性是按鈕的內容,寫“1”按鈕就顯示“1”,窗口的Caption就是窗口的標題。每個控件的ID屬性是獨立的,用默認生成的就行,也可以自己編寫。

 

 按鈕事件

“刪除”按鈕點一次刪除一個字符,“清空”按鈕就是清空,其他按鈕每點一次,表達式編輯框就加一個字符

先為編輯框創建“值”變量、“控件”變量來控制內容,簡單地理解:“值”給“控件”就會顯示。右鍵表達式編輯器->添加變量

“值”類別是編輯框要現實的內容,名稱為editv。再以同方法建“控件”類別的變量editc。

計算結果框也要有“值”變量和“控件”變量,分別是resultv、resultc。

 

 

接下來為每個按鈕單擊時顯示到編輯框中。

雙擊按鈕,自動添加單擊事件的函數,並跳轉到MFCcalculationDlg.cpp,

使用UpdateData(false)將變量值給控件,要反過來把false改成true,這個后面會用到。為每個按鈕添加對應的函數。

 

 

實現刪除使用editv = editv.Left(editv.GetLength() - 1),Left(n)取左邊n個字符,editv.GetLength()取editv的長度,長度-1就刪掉最后一個。

實現清空使用editv = "";

 

“=”的功能是將控件的值傳給變量,再調用其他計算函數計算,把計算結果傳給另一個編輯框中。在這里先實現顯示計算表達式。

調試結果是這個樣子的:

第二篇文章:C++做四則運算的MFC計算器(二)棧轉換和計算后綴表達式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM