VC6.0與VS2005的一些差別

一、VC 6.0 中的 MFC ClassWizard 從 Visual Studio 2005 開始已被分拆成兩個功能:

    1. 對控件和菜單建立事件映射的功能菜單視圖 (View)->Solution Explorer 或 Ctrl+W,S 中 Resource Files 樹下,在資源視圖(通過雙擊資源文件 *.rc 可進入該視圖)選中某一個菜單或者控件,右鍵其中的某項,在彈出的菜單中選擇“添加事件處理程序” (Add Event Handler...) ,接下來就能找到 VS 6 中類似 Message Maps 的選項;

    2. 添加窗體的消息映射菜單視圖 (View)-> 類視圖 (Class View) 或 Ctrl+W,C 進入類視圖單擊類,右鍵此類選中“屬性” (Properties) ,進入屬性界面,其上有事件 (Events) 、消息 (Messages) 、重寫 (Overrides) 等。對比 VS 6 沒有了 Automation( 以前稱作 OLE 自動化, COM IDispatch 接口 ) 選項。從 Visual Studio 2005 開始有了 MFC Class Wizard ,不過是在類視圖中選中項目,右鍵 Add->Class ,選中 MFC->MFC Class ,點擊 Add 後纔出現的。

 

二、自 Visual Studio 2005 環境起,字符串如 "Microsoft" 無法自動轉換爲 LPCTSTR 類型,解決方法見微軟 http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/c1b08c0a-a803-41c3-ac8c-84eba3be1ddb/

 

三、*View.h 消息映射中

      //{{AFX_MSG(*)

          ...

      //}}AFX_MSG

    這兩個 AFX_MSG 註釋宏不再存在,其中 * 代表建立的項目名。

    同樣在 *View.cpp 消息映射中註釋宏 AFX_MSG_MAP 也不再存在了。

 

四、連接 *.lib :在 VC6.0 中是在 Project->Setting 中設置,而自 Visual Studio 2005 起,菜單 Project->Properties ,

    1. 設置 lib 路徑(只存在 VS2005 中) :Configuration Properties->Linker->General->Addition Library Directories ,

    2. 添加 lib:  Configuration Properties->Linker->Input->Addition Dependences 。

 

五、Visual C++ Components 目錄自VC 7.0 就已被移除

原先在 VC++ 6.0 中的操作爲:菜單 Project->Add To Project->Components and Controls->Visual C++ Components->Popup Menu 。

.Net 環境項目可以通過工具 (Tools) -> 選擇工具箱項 (Choose Toolbox Items) 進行 ;

MFC 中添加 Popup Menu 可以通過向 View 類中添加消息 WM_CONTEXTMENU 進行。 Splash Screen 組件也因此不存在 ,但可以參照 Microsoft Visual Studio 9.0/Samples/1033/AllVCLanghageSamples.zip 中拷貝出 splash.cpp 和 splash.h 這兩個文件 , 加入到現有項目中或者對話框增強版 。

 

六、 自Visual Studio 2003 起,控件通知消息 WM_INITDIALOG 移到了重寫 (Overrides) 裏面,重寫裏的方法 OnInitDialog() 對應 WM_INITDIALOG 消息。

 

七、 自VS2005 起對消息的檢查更爲嚴格, VC6 中沒問題的 ON_MESSAGE(message,OnMyMessage); 返回值必須規範爲 LRESULT afx_msg LRESULT OnMyMessage(WPARAM, LPARAM) ;返回值可以爲 TRUE 或者 FALSE 。

 

八、 從 Components 裏添加 ActiveX (基於 COM )不再可行,自 VS2005 以來 Add Class->MFC Class From ActiveX Control ,點 Add ,窗口 Add Class From ActiveX Control Wizard 顯現。

 

九、 ActiveX Control Test Container 即 tstcon32.exe ,默認保存在 %programfiles%/Microsoft Visual Studio 9.0/Common7/Tools/ 目錄中,但從 VS2008 起已被移除, VS2005 是最後一個包含它的版本,如想獲取它可以自行編譯 TSTCON sample 或者單獨獲取其早期版本。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章