官术网_书友最值得收藏!

2.1 VC++開發系統簡介

2.1.1 VC6.0系統介紹

VC6.0是一個可視化的軟件開發框架,利用其中的應用程序創建向導功能,可以幫助快速創建圖形軟件。在Windows系統中安裝VC6.0后,桌面上會出現VC6.0的快捷方式,打開后軟件界面如圖2.1-1所示。

圖2.1-1 VC6.0界面

為了快速創建軟件,可以使用VC6.0的應用程序創建向導來實現。在菜單欄中選擇“文件”→“新建”命令,打開“新建”對話框,如圖2.1-2所示。

圖2.1-2 “新建”對話框

在“工程”選項卡中,選中MFC AppWizard(exe)選項,在“工程名稱”文本框中輸入要創建的程序的名字,例如CGTest001,單擊“確定”按鈕,VC6.0的創建向導開始自動創建應用程序,并彈出一系列的對話框進行程序設置。其中,在步驟1的對話框中,在“您要創建的應用程序類型是:”的選項中,選擇“單文檔”單選按鈕,然后單擊“下一步”按鈕,進行下一步的設置,如圖2.1-3所示。

圖2.1-3 程序創建向導步驟1

在應用程序向導創建的其他步驟中,接受默認的選項,并單擊“下一步”按鈕,在最后一步,可以看到向導為應用程序自動創建的類及類文件,如圖2.1-4所示。

圖2.1-4 程序創建向導步驟6

創建好的應用程序開發平臺如圖2.1-5所示。在左側的工作空間窗口中,可以看到已經創建的程序框架對應的類、資源和文件。

圖2.1-5 程序框架

在菜單欄中選擇“組建”→“執行[CGTest001.exe](Ctrl+F5)”命令,編譯并打開創建好的應用程序,軟件界面如圖2.1-6所示。這是一個標準的Windows風格的應用程序,上面有菜單和默認的工具欄,中間的空白區域即為繪圖區域(或者稱為視圖窗口)。

圖2.1-6 程序軟件界面

軟件界面中的所有內容,例如菜單、工具條、狀態欄、對話框以及繪圖窗口等,在應用程序中都有對應的資源、類和類文件,而且是一一對應的關系。其中繪圖區域對應的是應用程序中的視圖類,圖示中的視圖類是CCGTest001View,對應的文件是頭文件CGTest001View.h和源文件CGTest001View.cpp,如圖2.1-7所示。

圖2.1-7 視圖類CCGTest001View

應用程序中其他的類及文件,如CAboutDlg、CCGTest001App、CCGTest001Doc和CMainFrame等,是創建軟件程序框架必須具備的部分,但在實現計算機圖形原理算法時用不到這些類及文件,不用考慮其實際意義。

在默認狀態下,視圖窗口的左上角是繪圖區域坐標系的原點,X軸向右,Y軸向下,如圖2.1-8所示。在實現計算機圖形學的算法時,以顯示器的像素點作為長度單位。

圖2.1-8 繪圖區域坐標系

2.1.2 VC++相關設計流程

在VC6.0中,可視化窗口上的任何操作,例如,單擊菜單里的菜單項、單擊工具欄里的工具圖標以及在繪圖區域單擊、右擊、移動鼠標或者雙擊等,都會被視為一種消息(Message),如果需要對該消息進行相應的響應,則進入對應的消息函數中進行處理。例如,在繪圖區域的任意位置單擊,就會觸發視圖類CCGTest001View中的WM_LBUTTONUP這個消息,如果對該消息進行響應,則進入對應的消息函數OnLbuttonUp()中進行相應處理,上述過程的消息函數操作如圖2.1-9所示。在開發環境的菜單欄中選擇“查看”→“建立類向導”命令,打開類向導(MFC ClassWizard)對話框,切換到消息映射(Message Maps)選項卡,在類名(Class Name)下拉列表框中選擇視圖類(CCGTest001View),對象標識(Object IDs)列表框中選擇視圖類名本身,在消息(Messages)列表框中選擇WM_LBTTONUP選項,雙擊或者單擊Add Function按鈕,在視圖類里增加鼠標左鍵單擊的消息函數OnLbuttonUp(),在類頭文件CGTest001View.h中可以看到聲明的該函數名,在源文件CGTest001View.cpp中可以看到該函數體。

圖2.1-9 聲明消息函數

假如,要求單擊時彈出一個對話框,則OnLButtonUp()函數中的代碼為:

編譯并運行增加代碼后的應用程序,打開軟件,在繪圖區域單擊,彈出窗口,如圖2.1-10所示。鼠標其他操作的函數設置和上述方法類似。

圖2.1-10 消息函數操作

VC6.0中的所有資源(菜單、工具欄、對話框、圖標等)都有唯一的標識符號,可以在對應的資源屬性窗口中設置相應的屬性,如圖2.1-11所示。和鼠標單擊消息函數設置方法類似,單擊菜單或者工具條也觸發相應的消息函數,一般情況下,單擊菜單和工具條是為了實現一項新的功能。

圖2.1-11 菜單屬性窗口

如果要增加菜單欄或者工具條里的項目,可以雙擊空白菜單項或者工具條項,打開要增加的項目的屬性對話框,輸入唯一標識符和標題名稱即可。如圖2.1-12所示為增加一個畫線的工具條。

圖2.1-12 增加工具條

表2.1-1所示為常用的操作命令,在編譯、調試或者執行應用程序時會經常用到。

表2.1-1 常用的操作命令

在VC6.0中,向圖形設備(如顯示器和打印機)的繪圖和文本輸入等操作是通過設備的抽象接口類CDC來實現的,在視圖類中,有一個專門用于在設備中顯示內容的函數OnDraw(CDC ? pDC)。例如,在繪圖區域內寫一行文字,直接在該函數中寫代碼,如圖2.1-13所示。

圖2.1-13 OnDraw函數中寫繪圖代碼

使用VC6.0編程時,應注意以下事項:

(1)每行代碼必須以英文分號“;”結束;

(2)代碼中的變量和函數名稱等的字母區分大小寫;

(3)在其他函數里調用OnDraw()時,可通過Invalidate()函數實現;

(4)為了交互,需要設計交互步驟,可以采用狀態標識符號,如flag=0,1,2表示不同的狀態或者操作步驟。

主站蜘蛛池模板: 宁安市| 杭锦后旗| 漯河市| 通化县| 杭州市| 咸阳市| 家居| 神农架林区| 万源市| 南陵县| 德昌县| 正阳县| 南安市| 宝山区| 科技| 通山县| 巨野县| 防城港市| 灵山县| 德阳市| 黄平县| 洛隆县| 双桥区| 抚顺县| 大化| 寿阳县| 壶关县| 高尔夫| 博爱县| 曲周县| 东海县| 平山县| 蓬莱市| 无极县| 原阳县| 勐海县| 胶州市| 犍为县| 浏阳市| 贵定县| 滕州市|