mfc入門教程之通過控制變量制作計(jì)算器
mfc學(xué)習(xí)之前的了解
什么是mfc?
MFC是微軟基礎(chǔ)類的縮寫(Microsoft Foundation Classes),是一個(gè)龐大的類庫,可以理解為一種在Windows上開發(fā)軟件的架構(gòu),是微軟專為Visual C++定制的。該類庫提供一組通用的可重用的類庫供開發(fā)人員使用。
沒有MFC之前,Windows上用Win32 API進(jìn)行編程,之后MFC出現(xiàn),在一定程度上提高了軟件開發(fā)效率,它是對(duì)win32 API的封裝,所以易用性好,不過性能會(huì)比win32開發(fā)低一些,二者各有所長。
在Windows上開發(fā)界面程序以前用MFC最合適,能兼顧效率和性能。
簡單來說mfc就是方便windows程序開發(fā)的框架,不單單是界面,更有很多類庫。
mfc能干什么?
在學(xué)習(xí)mfc之前想必大家都會(huì)關(guān)系這個(gè)問題,很多人學(xué)習(xí)了c++,或者是學(xué)習(xí)了c和c++之后發(fā)現(xiàn)還是只能黑窗口下面做做數(shù)學(xué)題,寫寫算法,做不出什么實(shí)際的東西(這里不是說c/++做不出實(shí)際的東西,而是大多數(shù)的人做不出)。
問這個(gè)問題就像問一把剪刀能干什么,剪刀什么也干不了,我們可以拿著剪刀剪東西,剪的好壞更多的是在于使用者而不是工具本身。當(dāng)使用一件工具熟練之后去使用同類的工具你會(huì)發(fā)現(xiàn)很輕松就能上手,因?yàn)樗鼈兛此朴袇^(qū)別實(shí)則萬變不離其宗。
mfc和qt的選擇
很多人會(huì)去推薦學(xué)習(xí)qt說mfc過時(shí)了,如果你想要跨平臺(tái)那么qt非你莫屬,如果只是在windows上,那么mfc無可替代。無論是qt還是mfc在windows平臺(tái)上內(nèi)部的實(shí)現(xiàn)原理都是一樣的,只是封裝上有些區(qū)別。
mfc制作簡單計(jì)算器-控件變量
上節(jié)已經(jīng)實(shí)現(xiàn)了簡單的計(jì)算器,但是我們還可以用另外一種簡單的方法來實(shí)現(xiàn)。
我們可以添加控件變量,讓控件變量直接進(jìn)行計(jì)算。
控件變量的添加:
選中控件,右鍵->添加控件變量  
我們要注意控件變量的類別,Control控件類型的變量,代表整個(gè)控件,而Value是控件的數(shù)據(jù)類型,我們這個(gè)計(jì)算器程序顯然是Value類別的變量更加合適。
變量類型選int,變量名輸入munber1 ,點(diǎn)擊完成,添加成功,按照這個(gè)方法繼續(xù)給剩下的編輯框添加 變量number2,result,然后給存放運(yùn)算符的編輯框添加: 
Value類別,CString類型,最大字符數(shù)為1,變量名為_operator。
按鈕的BN_CLICKED消息處理代碼改為:
[C++]
void C簡單計(jì)算器Dlg::OnBnClickedButton1()
{
  // TODO: 在此添加控件通知處理程序代碼
  UpdateData(true);
  if (_operator !=_T("") )
  {
    if (_operator == _T("+"))
    {
      result = number1 + number2;
    }
    else if (_operator == _T("-"))
    {
      result = number1 - number2;
    }
    else if (_operator == _T("*"))
    {
      result = number1* number2;
    }
    else if (_operator == _T("/"))
    {
      result = number1 / number2;
    }
    else
    {
      MessageBox(_T("運(yùn)算符輸入有誤!"));
    }
  }
 
  UpdateData(false);
}
UpdateData()函數(shù)用來刷新數(shù)據(jù),參數(shù)為true從控件更新到控件變量,參數(shù)為false從零件變量更新到控件顯示。
程序運(yùn)行效果:
總結(jié)
以上所述是小編給大家介紹的mfc入門教程之通過控制變量制作計(jì)算器 ,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)我們網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
欄 目:C語言
下一篇:strings命令分析淺談Go和C++編譯時(shí)的一點(diǎn)小區(qū)別
本文標(biāo)題:mfc入門教程之通過控制變量制作計(jì)算器
本文地址:http://www.jygsgssxh.com/a1/Cyuyan/344.html
您可能感興趣的文章
- 01-10APUE筆記之:進(jìn)程環(huán)境詳解
 - 01-10內(nèi)部排序之堆排序的實(shí)現(xiàn)詳解
 - 01-10進(jìn)程間通信之深入消息隊(duì)列的詳解
 - 01-10海量數(shù)據(jù)處理系列之:用C++實(shí)現(xiàn)Bitmap算法
 - 01-10如何求連續(xù)幾個(gè)數(shù)之和的最大值
 - 01-10C++算法之海量數(shù)據(jù)處理方法的總結(jié)分析
 - 01-10深入理解c++中char*與wchar_t*與string以及wstring之間的相互轉(zhuǎn)換
 - 01-10用代碼和UML圖化解設(shè)計(jì)模式之橋接模式的深入分析
 - 01-10C++代碼規(guī)范之命名規(guī)則
 - 01-10C語言之free函數(shù)以及野指針介紹
 


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
 - 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
 - 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
 - 04-02c語言用函數(shù)寫分段 用c語言表示分段
 - 04-02c語言中對(duì)數(shù)函數(shù)的表達(dá)式 c語言中對(duì)
 - 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
 - 04-02c語言沒有round函數(shù) round c語言
 - 04-02c語言分段函數(shù)怎么求 用c語言求分段
 - 04-02C語言中怎么打出三角函數(shù) c語言中怎
 - 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
 
隨機(jī)閱讀
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
 - 01-10delphi制作wav文件的方法
 - 01-10C#中split用法實(shí)例總結(jié)
 - 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
 - 04-02jquery與jsp,用jquery
 - 01-11ajax實(shí)現(xiàn)頁面的局部加載
 - 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
 - 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
 - 08-05DEDE織夢data目錄下的sessions文件夾有什
 - 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
 


