解決方案與工程
每個應用程式都作為乙個工程來處理,它包含了標頭檔案、原始檔和資源檔案等
,這些檔案通過工程集中管理。在
vs2010中,工程都是在解決方案管理之下的
。乙個解決方案可以管理多個工程,可以把
解決方案理解為多個有關係或者沒有關係的工程的集合
。vs2010提供了乙個
solution explorer解決方案瀏覽器檢視,可以顯示當前解決方案的內容
,當新建乙個工程時可以選擇新建乙個解決方案還是加入當前解決方案。
下圖左側面板中正在顯示的檢視就是solution explorer,檢視中有乙個解決方案-helloworld,此解決方案下有乙個同名的工程-helloworld。
在應用程式嚮導生成應用程式後,vs2010會在使用者設定的路徑下,以解決方案名為名稱建立乙個目錄,裡面存放自動生成的檔案。
使用vs2010應用程式嚮導生成單文件應用程式框架
1.點選單欄file->new->project,彈出new project對話方塊,我們可以選擇工程型別。
如果安裝完vs2010以後
第一啟動時已經設定為vc++
,則installed templates->
visual c++項會預設展開
在對話方塊下部有name、location和solution name三個設定項。意義如下:
name--工程名,location--解決方案路徑,solution name--解決方案名稱
。這裡name我們設為「helloworld」,location設定為「桌面」的路徑,
solution name預設和name一樣,當然可以修改為其他名字
,這裡我們不作修改,也使用「helloworld」。點「ok」按鈕。
3.接下來彈出的對話方塊上部寫有
,我們看到有四種型別:single document(單文件)、multiple documents(多文件)、dialog based(基於對話方塊)和multiple top-level documents。我們選擇
single document型別,以生成乙個單文件應用程式框架
。單文件應用程式執行時是乙個單視窗介面。
此對話方塊的「resource language」還提供語言的選擇,這裡預設選擇英語。「project style」可選擇工程風格,我們選擇預設的「visual studio」風格。「use of mfc」有兩個選項:use mfc in a shared dll(動態鏈結庫方式使用mfc)和use mfc in a static library(靜態庫方式使用mfc)。
選擇use mfc in a shared dll時mfc的類會以動態鏈結庫的方式訪問,所以我們的應用程式本身就會小些,但是發布應用程式時必須同時新增必要的動態鏈結庫,以便在沒有安裝vs2010的機子上能夠正常執行程式。
選擇use mfc in a static library時mfc的類會編譯到可執行檔案中,所以應用程式的可執行檔案要比上種方式大,但可以單獨發布
,不需另加包含mfc類的庫。這裡我們使用預設的use mfc in a shared dll。點「next」按鈕。
4.此時彈出上部寫有「compound document support」的對話方塊,可以通過它向應用程式加入
ole支援
,指定ole選項的復合文件型別。本例不需要ole特性,使用預設值「none」。點「next」按鈕。
5.彈出的新對話方塊上部寫有「
document template properties
」。「file extension」可以設定程式能處理的檔案的副檔名。對話方塊其他選項還可
以更改程式視窗的標題
。我們都使用預設設定,點「next」按鈕。
6.此時彈出的對話方塊主題是「
database support」。用於設定資料庫選項。此嚮導可以生成資料庫應用程式需要的**
。它有四個選項:
none:忽略所有的資料庫支援;
header files only:只包含定義了資料庫類的標頭檔案,但不生成對應特定表的資料庫類或檢視類;
database view without file support:建立對應指定表的乙個資料庫類和乙個檢視類,不附加標準檔案支援;
database view with file support:建立對應指定表的乙個資料庫類和乙個檢視類,並附加標準檔案支援。
本例選擇預設值「none」,不使用資料庫
特性。點「next」按鈕。
7.這時彈出的對話方塊是關於「
user inte***ce features」,即使用者介面特性
。我們可以設定有無
最大化按鈕、最小化按鈕、系統選單和初始狀態欄等
。還可以選擇使用選單欄和工具欄生成簡單的應用程式還是使用ribbon。這裡我們都選擇預設設定。點「next」進入下一步。
8.此時彈出「高階特性」對話方塊。可以設定的高階特
性包括有無列印和列印預覽等
。在「number of files on recent file list」項可以設定在程式介面的檔案選單下面最近開啟檔案的個數
。我們仍使用預設值。點「next」按鈕。
9.彈出「生成類」對話方塊。在對話方塊上部的「生成類」列表框內,列出了將要生成的4 個類:
。在對話方塊下面的幾個編輯框中,可以修改預設的類名、類的頭檔名和源檔名。
對於檢視類,還可以修改其基類名稱,預設的基類是cview,還有其他幾個基類可以選擇
。這裡我們還是使用預設設定。點「finish」按鈕。
應用程式嚮導最後為我們生成了應用程式框架,並在solution explorer中自動開啟了解決方案(見上面第一張圖)。
編譯執行生成的程式
點選單中的build->build helloworld編譯程式,然後點
debug->start without debugging(快捷鍵ctrl+f5)執行程式
,也可以直接點debug->start without debugging,這時會彈出對話方塊提示是否編譯,選擇「yes」,vs2010將自動編譯鏈結執行helloworld程式。結果頁面如下所示:
如圖:
MFC生成的Windows應用程式的啟動步驟
0 windows將程式裝入記憶體。3 當winmain發現了應用程式物件時,它會自動呼叫initinstance函式,該函式在派生應用程式類中被改寫,它會進一步呼叫相應的函式來完成主框架視窗的構造和顯示工作。對於第3步,在initinstance函式中,首先構造應用程式的主框架視窗,當構造函式呼叫...
MFC 應用程式型別 單文件 多文件與基於對話方塊
型別解釋 單文件 記事本類程式的標準模式,有選單欄 工具欄等,只能進行乙份文件的操作,即不能同時在同乙個應用程式中開啟兩個檔案 多文件 word類或瀏覽器程式的標準模式,可多個視窗顯示不同的資訊,進行不同的任務,有過個檢視環境,可同時操作多個檔案。多個檔案共享同一選單欄 工具欄等 對話方塊 可方便的...
讀書筆記 MFC單文件應用程式結構分析
真的開始學習vc 了,感覺還是有點吃力。之前的知識幾乎全部忘掉了,要重新開始。不過還好,語法基礎還是有的,不用費多大力氣。物件導向的知識還是有的,不用重新學習,只需要了解一下就可以了。指標的知識也差不了多少,邊用邊學吧。今天開始重新進軍vc 的殿堂,希望從此開啟我的c 學習大門。這個八月的目標 熟悉...