VC++60 第十六章 VC++開發工具和MFC基礎類庫(一)

第十六章 VC++開發工具和MFC基礎類庫

 

Visual C++是Microsoft公司推出的支持面向對象的“Windows軟件”開發環境(Developer Studio),本書的敘述依賴的是6.0版,現在的最新版本是統一的“.NET”版。MFC類庫(Microsoft Foundation Class Library)是與 VC++開發系統相結合的基礎類庫。它封裝了許多常用的類,這就爲程序員提供創建各種常用控件及其它功能的簡便方法,極大地簡化了Windows桌面應用程序的開發過程。本書前十五章通過簡單的實例程序介紹了常用控件的設計和使用方法,主要是基於對話框模式的應用程序的設計過程,也從中學到了Visual C++6.0軟件的基本操作方法。本章的目的是把這些知識歸納和總結一下,鞏固這些基本知識,爲進一步的深入學習指明方向。

 

16.1 VC++60開發系統

 

1 應用程序嚮導和類嚮導

Visual C++6.0系統包含兩個嚮導——應用程序嚮導和類嚮導,是程序員是優秀助手。AppWizard在創建 新程序時自動啓動,它爲用戶自動生成了一個應用程序框架。在第一章中,我們介紹了創建基於對話框的應用程序時AppWizard各對話框的可選擇內容,在第十四章中介紹了創建基於單文檔模式的應用程序時對AppWizard對話框各步驟的應答方法。

打開第一章的HelloWin程序的工作區的Classview,您可以看到嚮導創建了四個類:CAboutDlg,CHelloWinApp,ChelloWinDlg和ChelloWinDlgAutoProxy。打開FileView可以查看源文件、頭文件資源文件等,這些就是AppWizard自動生成的應用程序框架。

 VC++60 <wbr>第十六章 <wbr>VC++開發工具和MFC基礎類庫(一)  VC++60 <wbr>第十六章 <wbr>VC++開發工具和MFC基礎類庫(一)
                            chap16-01 -- chap16-02

打開類嚮導ClassWizard對話框,它有五頁:

VC++60 <wbr>第十六章 <wbr>VC++開發工具和MFC基礎類庫(一)
 圖chap16-03

1)消息映射 用於給對話框及其控件添加消息映射等,我們在前面已經多次用到。
2)成員變量 用於給對話框及其控件引進成員變量。
3)自動監控 用於接口的(intface)設計。
4)ActiveX事件 用於ActiveX控件的設計。
5)類信息   顯示該類的有關信息。 圖chap16-03就是這一頁。

打開類嚮導的操作有兩種方法,一是從“查看”菜單打開,二是從快捷菜單進入,用右鍵點擊用戶工作區即可。
添加消息映射的步驟是:1.打開類嚮導對話框;2.選擇“消息映射”;3.選擇某對話框類,選擇一個控件的ID;4.選擇一個該控件適用的命令或消息,點擊“添加函數”按鈕。
添加控件變量的步驟是:1.打開類嚮導對話框;2.選擇“成員變量”頁;3.選擇某對話框類,選擇一個控件的ID,點擊“添加變量”;4.在打開的對話框中選擇變量的類型,是控件變量還是數值變量,數值變量就有可能是字符串或整數等。

 

2 工作區

新建或打開就的工程文件後, VC++開發環境打開它的主窗口,右邊是用戶工作區就編輯區,左邊是系統工作區簡稱工作區。工作區分三頁——類視圖、資源視圖和文件視圖。圖01和圖02分別是類視圖和文件視圖,下面的圖04是資源視圖。

VC++60 <wbr>第十六章 <wbr>VC++開發工具和MFC基礎類庫(一)
圖chap16-04

類視圖羅列了本工程中所用的類,從樹性控件中展開一個類,就可以看到該類的所有函數和成員變量。要編輯或修改某個函數,只要雙擊該函數就行。在樹上可以使用右建菜單。
資源視圖羅列了本工程中所用的所有的資源,如對話框、圖標、菜單、工具條和字符串表等。雙擊一對話框就打開該對話框的可視化設計窗口,雙擊其它也是同樣的效果。
文件視圖羅列了本工程中所用的文件,所有的類都有一個源文件和一個頭文件,資源文件是以RC擴展名的。定義一個全局變量(而不是控件變量)需要在類的構造函數中進行,在就需要在文件視圖打開頭文件區編輯。

 

3 對話框的界面設計

雙擊資源視圖中某對話框就可以打開該對話框的設計窗口,如果設計窗口沒有關閉,還可以從“窗口”菜單中去切換它。向對話框添加控件,先在控件工具窗口中選定一控件,再在對話框中點擊左鍵或拉一個矩形,後者的好處是同時確定控件的大小和位置。每一個控件 都需要設置屬性,其中ID是最重要的,不要簡單地用系統提供的缺省值,命名的規則是既要反映控件的功能,又要顯示出它的類型,ID必須全部用大寫。要設計控件屬性用右鍵點擊控件即可。

新浪網友:

"定義一個全局變量(而不是控件變量)需要在類的構造函數中進行"

這樣說不是很正確吧,應該說定義爲類的成員變量,在構造函數中賦初值

2009-4-11  01:32回覆(0)

天涯比鄰:

對! 定義類的成員變量,在構造函數中賦初值。

在構造函數中一定變量,那在構造函數外部就失效了。

2009-4-12  11:54

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章