VC++開發環境的主要開發模式擁有兩種模式,一種是WIN API方式,另一種則是MFC方式,VC++開發環境主要是針對Windows系統,適合一些系統級的開發,可以方便實現一些底層的調用。
其實,只要踏踏實實一步一步來,學VC++開發環境很簡單。對於沒有編程基礎的人首先要學習編程的基礎知識,如變量,語句,基本的算法等,然後寫一些小的程序,實現些常用算法對自己的思維是很好的鍛煉,對以後的學習大有好處。
起碼要能排排序,求個八皇後,算個漢羅塔,再知道一點深、廣度優先搜索。如果你已經有一些編程的基礎知識了,自然就可以跳過這步。在對編程有一定的認識之後,就應該開始進軍C++了。注意,C++是一門語言,而VC++開發環境則是講解如何在VC++開發環境環境下使用MFC類庫,學習VC++開發環境應建立在充分了解C++的基礎上的。
學完了C++,最好先找本Win32編程的書,Win32編程是指用 Windows API編程,MFC是將眾多的API函數進行了封裝的類庫,用起來方便了不少,但如果沒有一些API編程基礎,對相關概念不了解,學起來MFC來可能會很費解。
API函數有2千多,不需要都學。其實只要知道如何創建窗口、對話框、控件、消息循環,了解了句柄的含義就差不多了,最好再了解一點GDI編程。這個階段的關鍵是要理解Win32程序是如何運作的,把握各種窗口間的關系。因為你以後應該很少直接用Win32 SDK編寫程序,所以關鍵是理解整個結構,記住幾個函數並沒有什麼意義。函數用的時候可以現查。
打好了基礎,現在進軍VC++開發環境的障礙都已經掃清了。不過還是應做好充分的思想准備,事情不會那麼順利的。剛開始你就要面對一個瓶頸,大量的緊密關聯的知識,使你必須一下理解一個整體,而很難一點點來。可以說學VC++開發環境最難得就是剛開始。
情況有些類似於第一次創建窗口時面對的那長長的程序,很多人就是在此被它難住,放棄了學習。事實上,這幾乎是 Windows編程的一大特點,突破了這個瓶頸之後便是一片海闊天空,而有著扎實基礎的你是一定能闖過去的。建議不要等徹底弄明白一句才看下一句,等能做出個菜單、對話框時便回頭再看一遍,幾遍之後應該就可以大概明白MFC程序的運作了。
這裡有個關鍵,一定要用心體會面向對象編程的精神,努力將眼前的程序與之前的知識聯系起來。通過比較成員函數和對應的API函數間的區別,嘗試去理解MFC是怎樣封裝相關的API的。例如,相當多的宏,看起來很奇怪,但你不必理會其實現方法,只要知道如何使用便可,這點也很重要。還有,對於其生成的代碼要自己進行分析,偷懶就不能真正理解MFC。
這是我一個人的學習經驗,但經驗要因人而異,所以還需要根據個人的情況決定。開始時,教材讓怎麼辦就怎麼辦,比貓畫虎的做出個菜單、對話框,然後試著添加控件。等到不看教程便做出這些時,開始逐字逐句的試著理解MFC程序的組織。
若看不懂就跳過看下面的。就這樣一遍一遍來。如果覺著頭大就先歇上2天,等清醒了再接著來,最好在這期間多找些介紹MFC框架的文章。然後便可試著寫個定時器、名片夾之類的小東東,熟悉一下各種控件的使用。
突破了開始的瓶頸之後再學下去便會越學越容易,因為你可以一點一點的積累知識,而不用擔心被卡著了。再過不久,你就可以使用API函數完成一些功能,如在系統托盤加圖標,自畫列表框等。這時,你也會體會到學習Win32編程的好處了。
最後,建議有時間的話研究一下各種算法。數據結構是一定要看的。不一定要記住,但至少要知道有那麼回事,萬一碰到問題可可以知道問題出在哪裡。其實,常見的鏈表等結構以及排序等算法在VC++開發環境中已經實現了,不用你去費勁,但有些了解總是有好處的。至於離散數學、線性代數什麼的,對於復雜的算法是必要的,其中離散數學是數據結構的基礎。