版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1VisualVisualCCMFCMFC簡明教程簡明教程原著:MarshallBrain編譯:張圣華第一部分:第一部分:MFCMFC導論導論VisualC不僅僅是一個編譯器。它是一個全面的應用程序開發(fā)環(huán)境,使用它你充分利用具有面向對象特性的C來開發(fā)出專業(yè)級的Windows應用程序。為了能充分利用這些特性,你必須理解C程序設計語言。掌握了C,你就必須掌握Microsoft基本類庫(MFC)的層次結構。該層次結構包容了WindowsAPI
2、中的用戶界面部分,并使你能夠很容易地以面向對象的方式建立Windows應用程序。這種層次結構適用于所有版本的Windows并彼此兼容。你用MFC所建立的代碼是完全可移植的。該教程將向你介紹MFC的基本概念和術語以及事件驅動程序設計方法。在本節(jié)中,你將會輸入、編譯和運行一個簡單的MFC程序。下一節(jié)中將向你詳細解釋這些代碼。第三部分討論了MFC控制和如何定制它們。第四部分將介紹消息映射,你將會處理MFC的事件。什么是什么是MFC如果你要建立
3、一個Windows應用程序,應該如何下手?好的開端是從設計用戶界面開始。首先,你要決定什么樣的用戶能使用該程序并根據(jù)需要來設置相應的用戶界面對象。Windows用戶界面有一些標準的控制,如按鈕、菜單、滾動條和列表等,這對那些Windows用戶已經(jīng)是很熟悉了。要記住的是,作為程序員必須選擇一組控制并決定如何把它們安排到屏幕上。傳統(tǒng)上,你需要在紙上做一下用戶界面的草圖,直到對各元素感到滿意為止。這對于一些比較小的項目,以及一些大項目的早期原
4、型階段是可以的。下一步,是要實現(xiàn)代碼。為任何Windows平臺建立應用程序時,程序員都有兩種選擇:C或C。使用C,程序員是在Windows應用程序界面(API)的水平上編寫代碼。該界面是由幾百個C函數(shù)所組成,這些函數(shù)在WindowsAPI參考手冊中都有介紹。對于WindowsNTAPI被稱為“Win32API”,以區(qū)別于其用于Windows3.1的16位API。Microsoft也提供了C庫,它位于任何WindowsAPI之上,能夠使程
5、序員的工作更容易。它就是Microsoft基本類庫(MFC),該庫的主要優(yōu)點是效率高。它減少了大量在建立Windows程序時必須編寫的代碼。同時它還提供了所有一般C編程的優(yōu)點,例如繼承和封裝。MFC是可移植的,例如,在Windows3.1下編寫的代碼可以很容易地移植到WindowsNT或Windows95上。因此,MFC很值得推薦的開發(fā)Windows應用程序的方法,在本教程自始至終使用的都是MFC。但是使用MFC時,你編寫的代碼是用來建
6、立必要的用戶界面控制并定制其外觀。同時你還要編寫用來響應用戶操作這些控制的代碼。例如,如果用戶單擊一個按鈕時,你應該有代碼來響應。這就是事件驅動代碼,它構成了所有應用程序。一旦應用程序正確的響應了所有允許的控制,它的任務也就完成了。你可以看出,使用MFC進行Windows編程時是一件比較容易的的過程。本教程的目的是比較詳細地教你如何快速建立專業(yè)級的應用程序的技術。VisualC應用程序開發(fā)3擊一個標有“退出”的按鈕來退出應用程序。因為是
7、用戶來操作應用程序的控制,所以程序必須作出響應。所做的響應依賴于用戶使用鼠標或鍵盤在不同控制上的操作。屏幕上的每個用戶界面對象對事件的響應是不同的。例如,如果用戶單擊退出按鈕,則該按鈕必須更新屏幕、加亮它自己。然后程序必須響應退出。Windows所用的模式也是類似的。在一個典型的應用程序中,你將建立一個主窗口,并且在其中放置了一些用戶界面控制。這些控制通常被稱為子窗口它們就象一些在主窗口中的更小更特殊的子窗口。作為程序員,你應該通過函數(shù)
8、調用來發(fā)送信息操作這些控制、通過把信息發(fā)送給你到代碼來響應用戶的操作。如果你從未做過事件驅動程序設計,則所有這些對你來說可能是很陌生的。但是,事件驅動程序設計方式是很容易理解的。具體的細節(jié)對不同的系統(tǒng)可能有些不同,但是其基本概念是類似的。在一個事件驅動界面中,應用程序會在屏幕上繪制幾個界面對象,如按鈕、文本區(qū)和菜單。應用程序通常通過一段稱為事件循環(huán)的的代碼來響應用戶的操作。用戶可以使用鼠標或鍵盤來任意操作屏幕上的對象。例如,用戶用鼠標單
9、擊一個按鈕。用鼠標單擊就稱為一個事件。事件驅動系統(tǒng)把用戶的動作如鼠標單擊和鍵盤操作定義為事件,也把系統(tǒng)操作如更新屏幕定義為事件。在比較低級的編程方法中,如用C直接編寫WindowsAPI應用程序,代碼量是非常大的,因為你所要照顧的細節(jié)太多了。例如,你用某種類型的結構來接收單擊鼠標事件。你的事件循環(huán)中的代碼會查看結構中不同域,以確定哪個用戶界面對象受到了影響,然后會完成相應的操作。當屏幕上有很多對象時,應用程序會變得很大。只是簡單地處理哪
10、個對象被單擊和對它需要做些什么要花費大量的代碼。幸運的是,你可以在比較高級的方法來進行編程,這就是使用MFC。在MFC中,幾乎所有的低級的細節(jié)處理都為你代辦了。如果你把某一用戶界面對象放在屏幕上,你只需要兩行代碼來建立它。如果用戶單擊一個按鈕,則按鈕自己會完成一切必要的操作,從更新屏幕上的外觀到調用你程序中的預處理函數(shù)。該函數(shù)包含有對該按鈕作出相應操作的代碼。MFC為你處理所有的細節(jié):你建立按鈕并告知它特定的處理函數(shù),則當它被按下時,它
11、就會調用相應的函數(shù)。第四部分介紹了怎樣使用消息映射來處理事件。例子理解一個典型的MFC程序的結構和樣式的最好方法是輸入一段小程序,然后編譯和運行它。下面的程序是一段簡單的“hellowld”程序。這對很多C程序員都是很熟悉了,讓我們看一下如何用MFC方法來實現(xiàn)。如果你是第一次看到這類程序,也許比較難理解。這沒關系,我們后面會詳細介紹。現(xiàn)在你只要用VisualC環(huán)境中建立、編譯和運行它就可以了。hello.cpp#include說明應用程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論