WTL的兩面性

       WTL 具有兩面性,確實是這樣的。它沒有MFC的界面(GUI)類庫那樣功能強大,但是能夠生成很小的可執行文件。如果你象我一樣使用MFC進行界面編程,你會覺得MFC提供的界面控件封裝使用起來非常舒服,更不用說MFC內置的消息處理機制。當然,如果你也象我一樣不希望自己的程序僅僅因爲使用了MFC的框架就增加幾百K的大小的話,WTL就是你的選擇。當然,我們還要克服一些障礙:

  1) ATL樣式的模板類初看起來有點怪異
  2) 沒有類嚮導的支持,所以要手工處理所有的消息映射。
  3) MSDN沒有正式的文檔支持,你需要到處去收集有關的文檔,甚至是查看WTL的源代碼。
  4) 買不到參考書籍
  5) 沒有微軟的官方支持
  6) ATL/WTL的窗口與MFC的窗口有很大的不同,你所瞭解的有關MFC的知識並不全部適用與WTL。
  
  從另一方面講,WTL也有它自身的優勢:

  1) 不需要學習或掌握複雜的文檔/視圖框架。
  2) 具有MFC的基本的界面特色,比如DDX/DDV和命令狀態的自動更新功能(譯者加:比如菜單的Check標記和Enable標記)。
  3) 增強了一些MFC的特性(比如更加易用的分隔窗口)。
  4) 可生成比靜態鏈接的MFC程序更小的可執行文件(譯者加:WTL的所有源代碼都是靜態鏈接到你的程序中的)。
  5) 你可以修正自己使用的WTL中的錯誤(BUG)而不會影響其他的應用程序(相比之下,如果你修正了有BUG的MFC/CRT動態庫就可能會引起其它應用程序的崩潰。

  如果你仍然需要使用MFC,MFC的窗口和ATL/WTL的窗口可以“和平共處”。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章