C++_MFC快速超簡單入門參考模板_第1頁
C++_MFC快速超簡單入門參考模板_第2頁
C++_MFC快速超簡單入門參考模板_第3頁
C++_MFC快速超簡單入門參考模板_第4頁
C++_MFC快速超簡單入門參考模板_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 C+ MFC快速超簡單入門學(xué)習(xí)注意:紅色字體為重要的信息,必須理解并記住。在學(xué)習(xí)MFC之前,你必須對C+的 “類和對象有一定的認(rèn)識和理解,因為MFC就是C+完全的面向?qū)ο笤O(shè)計,它里面封裝了好多類,我們只要調(diào)用就OK,就像C語言調(diào)用庫函數(shù)一樣,直接使用,這就是C+第一特性:封裝性,第二性就是繼承與派生,這個在MFC中體現(xiàn)得淋淋至間(字打錯了)。如果不懂,我再來解釋一下,例:有一個商品類,class GOODS 商品屬性有名字,價格它可作為一個基類,我可以派上出 蘋果類,class Apple :public GOODS . 蘋果屬性出了繼承了商品的屬性名字,價格之外,還可派生出,顏色,等屬性,

2、繼承與派生就是一個是另一個的子集,但是這個子集不僅包括父集的特征,還具有一些新的特性,懂了吧,這樣。MFC其中重要的類是:CDialog 對話框類 ,CEdit,(編輯框類)CButton,(按鈕類) CRadio(單選鈕類),這些都是作為基類,由我們自己定義的類去派生它們。好了,現(xiàn)在先了解一下什么是MFC吧,請看當(dāng)前目錄下的MFC入門知識的幻燈片120張,或大概的瀏覽一下當(dāng)前目錄下的其它連個word文件,后面的幻燈片我覺得沒必要看了,因為是快速嗎,節(jié)約時間,(首先看不懂沒關(guān)系,)但但看完之后,必須掌握如下知識:1. MFC是作什么用的?與以前我們寫的C,C+語言有什么不同。以及它的一些優(yōu)點,

3、不同,以前的是控制臺的界面不好看,不友好,操作不方便,黑框框的一片。1 / 24MFC反之。優(yōu)點:可用極少的代碼實現(xiàn)強(qiáng)大的功能, 2. 關(guān)于MFC的一些術(shù)語,概念啊3. 你要知道MFC的對話框是由控件組成的,具有哪些控件(例按鈕:Button, 單選鈕:radio,Edit) 例:要知道MFC的編程的原則,也就是宗旨理念吧,“消息映射,事件驅(qū)動“,這句話要記住并理解,很重要,真的。那到底是什么意思呢?現(xiàn)實舉例:一個人具備一種“感知“的能力,(也可稱消息吧),當(dāng)用火接近這個人時(發(fā)生的事件),就會(驅(qū)動)這個人做出反應(yīng),遠(yuǎn)離”火“,用MFC舉例:一個按鈕有什么消息啊,我可以單擊它,所以它具備單擊

4、的消息:第一個就是左鍵單擊的消息,第二個就是雙擊的消息,見名思議就OK了。我單擊這個按鈕要產(chǎn)生某個事件,我就可以第一步,先給按鈕添加一個消息響應(yīng)函數(shù),意思就是當(dāng)我單擊按鈕時,就調(diào)用那個函數(shù),按鈕時時刻刻都處于待命的狀態(tài),假如添加的函數(shù)如下:void CDsDlg:OnButton1() AfxMessageBox(“我單擊了這個按鈕”);/這個函數(shù)要記住,就是彈出一個消息框.其中的字/符串自己設(shè)置。當(dāng)用戶單擊了這個按鈕時,就會調(diào)用上述函數(shù),彈出一個消息框顯示“我單擊了這個按鈕”好了,接下來就看其它控件的消息吧! 接下來的就用實例傻瓜式的教大家怎樣創(chuàng)建MFC程序吧, 第五章 對話框和常用控件對話

5、框是Windows應(yīng)用程序中最重要的用戶界面元素之一,是與用戶交互的重要手段,在程序運行過程中,對話框可用于撲捉用戶的輸入信息或數(shù)據(jù)。對話框是一個特殊類型的窗口,任何對窗口進(jìn)行的操作(如:移動、最大化、最小化等)都可在對話框中實施,一般來說,在對話框中通過各種控件(如:按鈕、編輯框、列表框、組合框等)來和用戶進(jìn)行交互??丶窃谙到y(tǒng)內(nèi)部定義的用于和用戶交互的基本單元。一、對話框的使用 Visual C+提供的對話框編輯器能“可視”地進(jìn)行設(shè)計、編輯,并可用ClassWizard為對話框從CDialog基類中派生一個類,MFC的CDialog類封裝了用于對話框的顯示、關(guān)閉等操作的許多功能函數(shù),例如:

6、DoModal函數(shù)用來顯示模式對話框并返回用戶操作的結(jié)果。這個函數(shù)先記住吧,會有用的。例:CDialog d1; /因為CDialog(對話框類)是MFC已經(jīng)封裝的一個類,就是相當(dāng)于一個庫函數(shù)的差不多,庫函數(shù)曉得吧,例C語言的,printf(); 這個也是庫函數(shù),是輸出函數(shù),而這里用類來表示罷了,反正語句就是定義一個對話框的對象d1; 然后我用這個對象就可以直接調(diào)用CDialog中得成員函數(shù)或成員變量了,(記住定義了某個MFC的封裝類的對象后就可以直接使用這個類的函數(shù)和成員變量了,)例: d1. DoModal(); / 就是調(diào)用對話框類CDialog的成員函數(shù)DoModal();打開一個對話

7、框。那么如何建立對話框? 接下來你要跟著一步一步的去做,只有實踐才能檢驗真理!才能學(xué)會,學(xué)懂!第一步:單擊” 文件-新建 選擇” 工程”的下面紅色選項. 填好工程名,單擊確定: 第二步:選擇紅色區(qū)域.直接單擊”完成”按鈕.第三步;出現(xiàn)如下圖界面,第四步:刪除上圖中的默認(rèn)控件(控件是什么? 例:按鈕,靜態(tài)文本框,單選鈕等這些都是“控件”。操作:先選擇需要刪除的按鈕, 然后按鍵盤上得 “delete”鍵 就可以刪除。注意了:當(dāng)你新建完工程之后,左邊會有個這樣的窗口:這叫工作區(qū)間:這里有三種視圖,Class叫類視圖,就是系統(tǒng)自動會生成一些類,然后你可以單擊這個按鈕之后,快速找到某個類,例:系統(tǒng)自動生

8、成了三個類,一個全局變量(),最常用到的是這只有一個類:接下來你可以單擊上圖的加號展開這個類。下面的就是這個類的成員函數(shù)和成員變量(綠色),你可以雙擊它們,然后在右邊的窗口就可以看到這個成員函數(shù)的地方了,這個方法要記住,方便以后查找某個函數(shù)在哪里。是對話框(CDialg)類的派生類,命名的規(guī)則“C+ “你自己寫的工程名” +Dlg。最常用到的函數(shù)是這個,你現(xiàn)在雙擊它,然后在右邊窗口就可以看到這個函數(shù)的實現(xiàn)了,這個函數(shù)的意義在于,初始化一些數(shù)據(jù)。初始化,曉得吧,就是給某些變量賦初值。大概這么多,這上面的代碼看不懂,沒關(guān)系,因為具體我也看不懂,絕對不影響你寫程序,然后找到這個函數(shù)下面的一條語句:/

9、 后面的是注釋語句,意思是,在下面添加你的額外的代碼,我們就可以在這下面添加自己要寫的代碼了,這個注釋要記住啊,在以后我們要添加語句通常都是在這個下面添加,一般每個函數(shù)下面都會有。還有一個函數(shù)要了解:這個函數(shù)是什么啊,還記得嗎。 對,這個就是CTestDlg的構(gòu)造函數(shù),當(dāng)然你也可以在這里面初始化一些成員變量。好了,系統(tǒng)為我們生成的類的函數(shù),你只要了解這兩個就行了,哦,對了,如果我想要回到剛才那個 “對話框“的繪制界面那里怎么回去呢? 我有辦法。選中下面這個資源視圖,這個視圖就是包括一些對話框資源啊,圖標(biāo)資源啊,等。然后:單擊紅色標(biāo)記就OK了,這個也要記住啊,再來了解第三個視圖:文件視圖這幾個的

10、意思都曉得吧,應(yīng)該比我的英文好吧,展開頭文件選擇 (老大,我必須說下,我的這個文件名應(yīng)該和你的會不相同,但是共同點是后面都有個Dlg.h,命名的規(guī)則就是工程名+Dlg.h,下同,不再做解釋,)這個是最常用到的一個頭文件了,記住了。它能做什么用呢,哦,先來談下,為什么系統(tǒng)會幫我們這樣分配這個MFC的程序呢,為什么把頭文件和資源文件分開呢,這個嗎,老師也說過了,我們的實驗要求是要寫成幾個文件的,類的定義,及成員變量,成員函數(shù)的說明等寫在頭文件中。 函數(shù)的實現(xiàn)寫在資源文件中,一般的一個完善的系統(tǒng)開發(fā)都是這樣的(清晰,明了),所以證明老師說的是正確的。所以,這個頭文件是干什么的,就不用我說了吧,先雙擊

11、這個頭文件,我們就可以在public 中添加我們自己的成員變量了,說明一點,其實我們設(shè)計的MFC就是在系統(tǒng)已有的一些函數(shù)里,或自己定義的函數(shù)里,添加一點點代碼,就OK了,這下面就是函數(shù)說明了,誒呀,不懂的話,我就這樣舉個例:我們書上定義類是怎樣的啊。Class Person Private: char name10; Public: char getname(char name110); 然后在類的外面實現(xiàn)它.拖動滾動條看下面。找到程序中的如下函數(shù)說明,這個就是剛才我們說的經(jīng)常用到的類,首先它在頭文件中定義說明然后在類外中實現(xiàn),在程序中找到如下函數(shù),找某個函數(shù)會找吧,不懂看前面。返回值,這是返

12、回一個邏輯值,就是“ 真或是 false 假兩種情況, CTestDlg:OnInitDialog() 就是聲明OnInitDialog()是屬于CTest這個類 懂吧。好了,基本的情況都介紹了,因為是快速其余系統(tǒng)生成的類中得函數(shù)啊,等不知道就不用去研究了,不會影響我們寫程序,先回到 對話框這個視圖界面:怎樣操作不用我說了吧,單擊,出現(xiàn)單擊這個是對話框的ID下面會有介紹。名稱你的會不一樣啊,找到有命名規(guī)則是IDD_你的工程名_DIALOG.下面先認(rèn)識控件:最常用的就是這幾種了:第五步:繪制對話框界面:直接拖動右邊的某個控件,到左邊的對話框界面,繪制下面這個圖型:操作方法:例:我先拖動一個“按鈕

13、”到對話框界面。它會如下顯示,哦,對了,如果你按住CTRL鍵不動,拖動對話框面板的控件還可以直接復(fù)制呢!然后修改:按鈕的文字。 方法是:右擊該按鈕,在彈出的快捷菜單選擇“屬性”,接著彈出如下圖。分析如下:ID框:修改或選擇對話框的標(biāo)識符名稱,ID這個術(shù)語很重要,要記住“就像一個人有一個名字一樣,我知道這個名字,我就能找到這個人。下面介紹幾種常見ID,這個真的要記住啊,而且要理解IDC_BUTTON1 按鈕IDC_RADIO1 單選鈕 IDC_CHECK1 復(fù)選框ID名稱可以修改,在這里就不用修改了,使用默認(rèn)就行了,但是一般你看見一個ID名稱就要知道他是屬于那種控件。很容易記, 例:按鈕 :英文

14、就是 BUTTON,標(biāo)題框:輸入控件的名稱,中英文均可。這里只需修改標(biāo)題名稱 改為“確定“就OK了,其余的控件修改名稱都是一樣的。好了界面就繪制好了。接下來,你可以單擊編譯運行了,哈哈,是不是發(fā)現(xiàn)自己繪制的對話框就顯示出來了啊,但是有沒有發(fā)現(xiàn)“當(dāng)我單擊某個按鈕時什么事也沒發(fā)生,沒動靜,這是怎么回事呢,好吧,接下來就注意看了,聽我娓娓道來。我們通過一個登陸對話框的實例來深入學(xué)習(xí)MFC。接下來就了解一下怎么去寫代碼,去實現(xiàn)各個控件的功能吧!先看最終效果吧!第一步: 繪制界面就不說了,自己繪制吧,注意各個控件的排版啊,要整齊一點。 只說一點,因為是有個密碼輸入框,所以你必須設(shè)置這個輸入框輸入的文字顯

15、示為* ,不能讓別人看見。操作步驟:首先右擊“這個密碼輸入框在彈出的快捷菜單中選擇“屬性”接著在單擊樣式選項卡。選擇密碼復(fù)選框。其余的地方大家也可自己去了解。例:數(shù)字選項卡啊,就說明這個輸入框中只能輸入數(shù)字。好了,接下來,你可測試一下,在,沒選這個“密碼”和選了這個密碼之后的對話框的密碼輸入框。輸入文字有什么不同吧,。直接運行程序就可以,記住了,新建工程后,你可以隨時都運行你的程序,看效果,第二步:為控件添加成員變量,成員函數(shù)。在我們書上的介紹的那種,我們以前學(xué)的,是手工一個一個代碼去寫去實現(xiàn)添加成員變量,成員函數(shù),但是今天學(xué)的MFC就So easy了。快速添加,不用打代碼,我們使用“建立類向

16、導(dǎo)”來添加。操作方法:右擊對話框面板的空白處( 我們稱以下這個為“對話框面板“)選擇 “建立類向?qū)А?彈出如下 對話框。跟你說啊,MFC的一切代碼都可以用英文去解釋它。去記住它。紅色標(biāo)記 1Message Map 消息地圖 (作用是位消息添加響應(yīng)函數(shù)),也可以方便查看某些控件的消息,何為消息不用我說了吧,前面已介紹了,自己去看,不懂百度,“下面的我都是會根據(jù)那句話來做解釋“消息映射,事件驅(qū)動”紅色標(biāo)記3 這個地方是控件的ID你看這里就ok了,對象的ID,何為ID,還用我解釋嗎,前面自己去看,說了很重要是不是,上面顯示了有5個ID, 這5個ID就對應(yīng)了,對話框的五個控件,就像5張身份證對應(yīng)5個人

17、一樣,那我們怎么查看某個變量的ID呢,其實前面已經(jīng)有了,再說下吧,右擊某個控件,選擇屬性,然后在對話框中你就可以看見它的ID了,紅色標(biāo)記4 這里是 某個控件的消息,前面有些許介紹,例我們要為登陸按鈕,添加一個單擊的消息,我們先選中登陸按鈕 對應(yīng)的這個ID名稱再選擇 單擊這個消息:下面第二個為雙擊,我們單擊一下就OK了,然后再單擊紅色標(biāo)記6 中得添加函數(shù),下面我不會在解釋了,自己根據(jù)英文去理解。彈出如下圖,然后填寫一個函數(shù)名,隨便你自己寫只要跟我們C語言定義函數(shù)名一樣就行了,我們就是用默認(rèn)的算了。然后在紅色標(biāo)記6中就可看到我們添加的消息函數(shù)了。函數(shù)名為”O(jiān)nButton還要為按鈕添加一個單擊函數(shù)

18、,自己模仿添加一個。添加時你要記住哪個函數(shù)是登陸的消息函數(shù),哪個是取消的消息函數(shù)啊。接下來我們添加“成員變量“,選擇紅色標(biāo)記2 英文成員變量。如下圖怎樣添加呢,我們要為,用戶名輸入框和密碼輸入框添加兩個變量。先選擇對應(yīng)的ID名稱單擊紅色標(biāo)記6 中得(添加變量)彈出如下對話框,填寫一個成員變量,我寫的是m_user 方便記憶定義變量知道吧,誒呀就是普通定義變量一樣,就像 int i; 一樣第一個是變量的類別,我們就使用值類型,類型定義浮選擇,CString 這個是字符串類你就這樣理解跟string是一樣的,功能差不多,這個類要記住,以后會用到。已上就是這樣一個定義變量的過程: CString m

19、_user;接下來你就為密碼輸入框也定義一個變量吧,一般按鈕沒有變量,其余的都有變量,所以我們按鈕就不定義變量了。這個也說下吧,就是這個輸入框最多可以輸入多少個字符。還有這個 先選擇變量,然后可以直接刪除它。這個對話框的其它選項卡,就不介紹了,用的很少,最后單擊確定。以上這個要記住啊,會經(jīng)常用到。第二步:在我們已經(jīng)添加的成員函數(shù)中寫代碼。操作方法如下:第一步找到該函數(shù)。 例我們要在我們剛已經(jīng)添加的確定按鈕的消息函數(shù)中寫代碼,這個函數(shù)名你還記得嗎,剛才定義函數(shù)的時候我說了要記住它,好吧,沒關(guān)系,不記得的話,我們一種辦法是重新查看“建立類向?qū)υ捒蛑?,屬于確定按鈕的這個函數(shù)。第二種:直接雙擊這個按

20、鈕,我們馬上就可跳到這個函數(shù)的地方。這個方法要記住哦,好了,我們先不急著寫代碼,先看下我們的類視圖展開這個類,是不是看到我們剛才添加的成員函數(shù)(即按鈕的消息響應(yīng)函數(shù))和變量在其中啊,哈哈。我們再來看看,還有沒有奇特地方做了修改??梢赃@樣想,因為我們添加了成員變量,添加了成員函數(shù)“還記得添加“成員變量,成員函數(shù)“是哪個文件嗎,前面我們已介紹了,好說到這,我必須說下,前面的知識大家一定要記住,OK嗎?當(dāng)然就是 “文件視圖中的“頭文件”啦!選擇,展開我們經(jīng)常用到的頭文件“是不是看到這里多了幾行語句:意思如果你不懂了的話,你就OUT了。第三步:接下來回歸主題,正式寫代碼了,注意了啊,看好了,先找到“確

21、定“按鈕的這個函數(shù)”自己找吧!添加如下代碼:代碼不是很多,解釋多,認(rèn)真看看吧,完成了,接下來測試一下吧。運行這個程序,看是不是當(dāng)你輸入正確的用戶名和密碼都為123時,才顯示“親。,恭喜你”,錯誤就“您輸入的“ 此程序我已經(jīng)測試成功,不要說你的程序有錯誤啊,第四步:還有一個按鈕我們沒有添加代碼呢,就是“取消“單擊這個按鈕還沒反應(yīng),接下來我們就添加如下代碼吧:OnOK(); /因為當(dāng)單擊取消,我們就要退出這個對話框, 所以這句話的意思就是這樣的。調(diào)用一個對話框退出的函數(shù)OnOK();這個也要記住了。注意:書寫這個函數(shù)時一定要注意大小寫,我猜你今后肯定會出錯的,O大寫,n小寫 OK兩個大寫,記住了嗎?親,今天我們的學(xué)習(xí)就到這里了哦,你的程序是否運行成功了呢,是否還有什么地方不知道的錯誤呢?是否感覺MFC很好玩呢?是否學(xué)懂上面的知識了呢?是否覺得還有什么更好的關(guān)于MFC的誠意呢?是否覺得這個程序還不是很完善呢

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論