版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1VisualVisualCCMFCMFC簡明教程簡明教程原著:MarshallBrain編譯:張圣華第一部分:第一部分:MFCMFC導(dǎo)論導(dǎo)論VisualC不僅僅是一個(gè)編譯器。它是一個(gè)全面的應(yīng)用程序開發(fā)環(huán)境,使用它你充分利用具有面向?qū)ο筇匦缘腃來開發(fā)出專業(yè)級的Windows應(yīng)用程序。為了能充分利用這些特性,你必須理解C程序設(shè)計(jì)語言。掌握了C,你就必須掌握Microsoft基本類庫(MFC)的層次結(jié)構(gòu)。該層次結(jié)構(gòu)包容了WindowsAPI
2、中的用戶界面部分,并使你能夠很容易地以面向?qū)ο蟮姆绞浇indows應(yīng)用程序。這種層次結(jié)構(gòu)適用于所有版本的Windows并彼此兼容。你用MFC所建立的代碼是完全可移植的。該教程將向你介紹MFC的基本概念和術(shù)語以及事件驅(qū)動程序設(shè)計(jì)方法。在本節(jié)中,你將會輸入、編譯和運(yùn)行一個(gè)簡單的MFC程序。下一節(jié)中將向你詳細(xì)解釋這些代碼。第三部分討論了MFC控制和如何定制它們。第四部分將介紹消息映射,你將會處理MFC的事件。什么是什么是MFC如果你要建立
3、一個(gè)Windows應(yīng)用程序,應(yīng)該如何下手?好的開端是從設(shè)計(jì)用戶界面開始。首先,你要決定什么樣的用戶能使用該程序并根據(jù)需要來設(shè)置相應(yīng)的用戶界面對象。Windows用戶界面有一些標(biāo)準(zhǔn)的控制,如按鈕、菜單、滾動條和列表等,這對那些Windows用戶已經(jīng)是很熟悉了。要記住的是,作為程序員必須選擇一組控制并決定如何把它們安排到屏幕上。傳統(tǒng)上,你需要在紙上做一下用戶界面的草圖,直到對各元素感到滿意為止。這對于一些比較小的項(xiàng)目,以及一些大項(xiàng)目的早期原
4、型階段是可以的。下一步,是要實(shí)現(xiàn)代碼。為任何Windows平臺建立應(yīng)用程序時(shí),程序員都有兩種選擇:C或C。使用C,程序員是在Windows應(yīng)用程序界面(API)的水平上編寫代碼。該界面是由幾百個(gè)C函數(shù)所組成,這些函數(shù)在WindowsAPI參考手冊中都有介紹。對于WindowsNTAPI被稱為“Win32API”,以區(qū)別于其用于Windows3.1的16位API。Microsoft也提供了C庫,它位于任何WindowsAPI之上,能夠使程
5、序員的工作更容易。它就是Microsoft基本類庫(MFC),該庫的主要優(yōu)點(diǎn)是效率高。它減少了大量在建立Windows程序時(shí)必須編寫的代碼。同時(shí)它還提供了所有一般C編程的優(yōu)點(diǎn),例如繼承和封裝。MFC是可移植的,例如,在Windows3.1下編寫的代碼可以很容易地移植到WindowsNT或Windows95上。因此,MFC很值得推薦的開發(fā)Windows應(yīng)用程序的方法,在本教程自始至終使用的都是MFC。但是使用MFC時(shí),你編寫的代碼是用來建
6、立必要的用戶界面控制并定制其外觀。同時(shí)你還要編寫用來響應(yīng)用戶操作這些控制的代碼。例如,如果用戶單擊一個(gè)按鈕時(shí),你應(yīng)該有代碼來響應(yīng)。這就是事件驅(qū)動代碼,它構(gòu)成了所有應(yīng)用程序。一旦應(yīng)用程序正確的響應(yīng)了所有允許的控制,它的任務(wù)也就完成了。你可以看出,使用MFC進(jìn)行Windows編程時(shí)是一件比較容易的的過程。本教程的目的是比較詳細(xì)地教你如何快速建立專業(yè)級的應(yīng)用程序的技術(shù)。VisualC應(yīng)用程序開發(fā)3擊一個(gè)標(biāo)有“退出”的按鈕來退出應(yīng)用程序。因?yàn)槭?/p>
7、用戶來操作應(yīng)用程序的控制,所以程序必須作出響應(yīng)。所做的響應(yīng)依賴于用戶使用鼠標(biāo)或鍵盤在不同控制上的操作。屏幕上的每個(gè)用戶界面對象對事件的響應(yīng)是不同的。例如,如果用戶單擊退出按鈕,則該按鈕必須更新屏幕、加亮它自己。然后程序必須響應(yīng)退出。Windows所用的模式也是類似的。在一個(gè)典型的應(yīng)用程序中,你將建立一個(gè)主窗口,并且在其中放置了一些用戶界面控制。這些控制通常被稱為子窗口它們就象一些在主窗口中的更小更特殊的子窗口。作為程序員,你應(yīng)該通過函數(shù)
8、調(diào)用來發(fā)送信息操作這些控制、通過把信息發(fā)送給你到代碼來響應(yīng)用戶的操作。如果你從未做過事件驅(qū)動程序設(shè)計(jì),則所有這些對你來說可能是很陌生的。但是,事件驅(qū)動程序設(shè)計(jì)方式是很容易理解的。具體的細(xì)節(jié)對不同的系統(tǒng)可能有些不同,但是其基本概念是類似的。在一個(gè)事件驅(qū)動界面中,應(yīng)用程序會在屏幕上繪制幾個(gè)界面對象,如按鈕、文本區(qū)和菜單。應(yīng)用程序通常通過一段稱為事件循環(huán)的的代碼來響應(yīng)用戶的操作。用戶可以使用鼠標(biāo)或鍵盤來任意操作屏幕上的對象。例如,用戶用鼠標(biāo)單
9、擊一個(gè)按鈕。用鼠標(biāo)單擊就稱為一個(gè)事件。事件驅(qū)動系統(tǒng)把用戶的動作如鼠標(biāo)單擊和鍵盤操作定義為事件,也把系統(tǒng)操作如更新屏幕定義為事件。在比較低級的編程方法中,如用C直接編寫WindowsAPI應(yīng)用程序,代碼量是非常大的,因?yàn)槟闼疹櫟募?xì)節(jié)太多了。例如,你用某種類型的結(jié)構(gòu)來接收單擊鼠標(biāo)事件。你的事件循環(huán)中的代碼會查看結(jié)構(gòu)中不同域,以確定哪個(gè)用戶界面對象受到了影響,然后會完成相應(yīng)的操作。當(dāng)屏幕上有很多對象時(shí),應(yīng)用程序會變得很大。只是簡單地處理哪
10、個(gè)對象被單擊和對它需要做些什么要花費(fèi)大量的代碼。幸運(yùn)的是,你可以在比較高級的方法來進(jìn)行編程,這就是使用MFC。在MFC中,幾乎所有的低級的細(xì)節(jié)處理都為你代辦了。如果你把某一用戶界面對象放在屏幕上,你只需要兩行代碼來建立它。如果用戶單擊一個(gè)按鈕,則按鈕自己會完成一切必要的操作,從更新屏幕上的外觀到調(diào)用你程序中的預(yù)處理函數(shù)。該函數(shù)包含有對該按鈕作出相應(yīng)操作的代碼。MFC為你處理所有的細(xì)節(jié):你建立按鈕并告知它特定的處理函數(shù),則當(dāng)它被按下時(shí),它
11、就會調(diào)用相應(yīng)的函數(shù)。第四部分介紹了怎樣使用消息映射來處理事件。例子理解一個(gè)典型的MFC程序的結(jié)構(gòu)和樣式的最好方法是輸入一段小程序,然后編譯和運(yùn)行它。下面的程序是一段簡單的“hellowld”程序。這對很多C程序員都是很熟悉了,讓我們看一下如何用MFC方法來實(shí)現(xiàn)。如果你是第一次看到這類程序,也許比較難理解。這沒關(guān)系,我們后面會詳細(xì)介紹?,F(xiàn)在你只要用VisualC環(huán)境中建立、編譯和運(yùn)行它就可以了。hello.cpp#include說明應(yīng)用程
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- visualc++mfc簡明教程
- visual-c++mfc入門教程
- visual studio 2012 c++ 指導(dǎo)教程
- spss簡明教程
- trados簡明教程
- oracle 游標(biāo)簡明教程
- 《98王碼簡明教程》
- 散熱風(fēng)扇簡明教程
- vbs腳本編程簡明教程
- 聯(lián)共布黨史簡明教程
- 無紙化在線學(xué)習(xí)簡明教程學(xué)員
- eviews軟件實(shí)證操作簡明教程
- 數(shù)字電路簡明教程習(xí)題
- 概率統(tǒng)計(jì)簡明教程課件講義
- 電工學(xué)簡明教程答案
- 電子白板使用簡明教程
- 編碼器 sdk 簡明教程
- 霉菌試驗(yàn)簡明教程-實(shí)驗(yàn)部分
- python學(xué)習(xí)筆記與簡明教程
- hspice簡明教程(復(fù)旦大學(xué))
評論
0/150
提交評論