導讀:
對於程序員來說,如果要提高編程效率,一個好用的,功能強大的並且可以得心應手使用的編程工具往往會給我們程序員帶來莫大的方便。其實對於現在的編程工具來說,使用哪
一種工具都不是問題的關鍵,重要的是你能夠使用到什麼程度,畢竟現在的工具都是非常的強大,對於一般的編程任務來說還沒有不能夠勝任的工具,否則的話恐怕他就不可能在這個世界上存在哪怕是隻有一個月的生命。但是根據個人所好以及周圍的人的影響,我們都會去使用某一種或者幾種工具。比較Visual Basic 、C++ Builder和Delphi等編程工具,用VC++編寫Windows應用程序可以說是最富於挑戰性和艱鉅性。在本文中我無意去比較各種工具的好壞,僅就我自己學習Visual C++的MFC的體會和心得拿出來與大家一起分享和交流,也希望可以結識更多的志同道合的朋友。
就我個人的偏見,學習VC++就應該要學習他的類庫MFC(Microsoft Foundation Classes)。也許有的人一聽說MFC就有點望而生畏,這是可以理解的,畢竟Microsoft雖然給了我們一個強大而且非常複雜的類庫,但是沒有給我們帶來學習他的好的方便之處。回想自己學習MFC時的無助和迷茫,以及所走過的彎路,現在想起來還心有餘悸,雖然我現在也還是處於非常初級的初級入門階段,但是還是很樂意把自己的心得和體會拿出來一起與大家分享。也希望得到大家的指點。
一、SDK應用程序結構
我學習MFC之路可是從windows編程開始的(可能這一開始就是彎路了^_^)。首先也請大家跟着我一起看一個SDK應用程序結構的Windows應用程序。當然也是經典的“Hello world!”了,編寫的過程就不必羅嗦了,下面給出他的主要源代碼(我使用嚮導生成的,但是爲了閱讀的方便經過了一點點的編輯):
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
MSG msg;
………………………………
MyRegisterClass(hInstance);
if (!InitInstance (hInstance, nCmdShow))
{
return FALSE;
}
// Main message loop:
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return msg.wParam;
}
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
……………………
return TRUE;
}
//窗口函數WndProc(),回調函數
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
本文轉自
http://www.enadd.com/appdev/vc/vcins/200604/appdev_7410.html
明明白白看MFC之程序框架(一)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
彙編ring3下實現HOOK API
導讀: 標 題:彙編ring3下實現HOOK API【原創】 作 者:非安全 時 間:2006-07-12,18:39 鏈 接:
yingfox
2020-06-15 16:21:10
[圖文]VC調試入門
導讀: 概述 調試是一個程序員最基本的技能,其重要性甚至超過學習一門語言。不會調試的程序員就意味着他即使會一門語言,卻不能編制出任何好的
yingfox
2020-06-15 16:21:10
用WTL構建HTML界面應用程序(1)
導讀: 本文的主要讀者對象 主要針對有一定Windows編程經驗的讀者。閱讀本文需要對COM機制有一定的瞭解,最好掌握C++的STL,熟
yingfox
2020-06-15 16:21:10
VC小技巧:窗體中顯示bmp圖象
雖然在高手看來這是垃圾問題,但對於我們這些菜鳥,這是很必須的.因爲高手很不屑寫這些的,我剛剛學會,爲了挽救普天之下和我一樣的菜鳥們,就寫了這樣一
yingfox
2020-06-15 16:21:10
轉:從VC++到GCC移植:談兩者語法差異
導讀: 類型引用 以下是引用片段: template class Foo { typedef T::SomeType S
yingfox
2020-06-15 16:21:10
win32 popup dialog
mzr122
2020-02-25 07:52:45
win32編程中對話框處理函數最後的返回值爲TRUE導致了程序異常
吹成狗的攻城狮
2020-02-24 11:00:08
win32網絡編程實例——重疊IO
u014585564
2020-02-23 02:31:03
win32網絡編程實例——同步IO
u014585564
2020-02-23 02:30:53
爲MFC應用程序添全屏幕顯示功能
yingfox
2020-02-20 13:48:55
用Microsoft SDK實現中文語音發音的方法小結
yingfox
2020-02-20 13:48:55
Windows編程 | 第九講 動態鏈接庫
_n19hT
2020-07-01 16:09:16