Re: [問題] VC++ vs MFC

看板C_and_CPP (C/C++)作者 (實況「野球」魂)時間15年前 (2011/05/12 13:24), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《m13m13m (奇怪 還沒收到??)》之銘言: : 請問一下大家: : VC++的定義是什麼呢... 是用visual studio 來寫c++程式 : 還是MFC... : 我開專案是開Windows Form Application 是用C++,那在msdn上 : 歸類算哪一種? 因為上面有一堆MFC、C#的資料,可是我用VC++當 : 關鍵字MSDN又會提供給我MFC的,也就是要求要開MFC project的... : 有點模糊了... 請高手解答 : 謝謝 Visual Studio是開發程式的平台, C++是程式語言, MFC是Library。 MFC是Microsoft想簡化win32 API(MS自以為的簡化....0rz), 所整理出來的library,本質還是Win32 API, 你開的專案應該是直接使用Win32 API, 不是使用MFC的, 要用的話,你要手動include相關的header和連結相關的library。 查MSDN你可以先選C++,就可以把C#的bypass掉, 接著例如查EnableWindow,會出現 EnableWindow(HANDLE hndl, BOOL enable) or CWnd::EnableWindow(BOOL enable) 前者是Win32 API,後者是在MFC CWnd這個class的function, 本質是一樣的, 因為CWnd這個class裡有一個參數:CWnd::m_hWnd, 就是要傳入Win32 API的HANDLE, 基本上查詢有出現class或是global function名稱是AFX開頭的, 都是MFC的。 你開的那個專案default並沒有含入MFC相關的東西, 你無法宣告CWnd,自然也無法使用CWnd::EnableWindow(BOOL enable), 所以你只能用第1個function,HANDLE則要自己去create, 這是比較基本的差別,其他的message loop的差別就比較複雜一點了, 請參照很多書的第一章都有說明。 MFC還是有一定的好處,至少它已經整理成class了, 但是我個人覺得自己包的東西都會有bug了,何況是別人包的, 所以基本上我都是混著用,只要發現是MFC包的不合用, 就退到Win32 API,甚至回歸到c++自己重寫, 久了自然就會有自己的framework了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.250.104

05/12 17:06, , 1F
05/12 17:06, 1F
文章代碼(AID): #1DosxtWS (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
2
14
完整討論串 (本文為第 3 之 3 篇):
1
1
5
23
2
14
文章代碼(AID): #1DosxtWS (C_and_CPP)