WTL达人请教是否学习WTL

j8daxue 2009-04-06 09:19:57
学习MFC近2年,可以处理常见问题,尽管没拿它做什么项目,但基本对MFC有一个全面的认识.
因为目前还不知以后朝什么方面发展,所以只得多学下东西.
WTL早有所闻,据说不是非MS出品,听说它是轻量级的C++库.不知道对比MFC是否好用,以及是否有必要学?
...全文
392 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
有趣之极 2010-12-13
  • 打赏
  • 举报
回复
MFC不至于那么垃圾吧,呵呵
HotSoftg 2009-04-27
  • 打赏
  • 举报
回复
WTL比MFC 可爱多了。

用过WTL才知道MFC是多少的垃圾。
ilovedrv 2009-04-07
  • 打赏
  • 举报
回复
WTL用过一下,还做过一个项目,界面还比较复杂

不过,我的建议是,如非必要,例如项目组要求,遗留代码等,完全没有必要用这它,资料少,非官方,这些原因就足以让我放弃了,当然如果要以学习为目的,如何封装Windows消息流程处理,模板使用技巧,倒是可以收益非浅


使用mfc、wtl,主要就是做界面,其它的方面,采用标准的c/c++库,stl等,完全可以实现


j8daxue 2009-04-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 akirya 的回复:]
引用 4 楼 j8daxue 的回复:
引用 2 楼 akirya 的回复:
WTL基于ATL的,用到比较少.

不知道lz对于MFC的原理 了解多少?

在下只是尚未找到工作的学生,主要原因是做WINDOWS程序的少(多半是JAVA和.NET招聘),使用MFC的更少(使用其他工具BORLAND C++ VB DEIPHL等,或者其他C++库),当然也算会用WIN32API,另外就是LINUX C++了,做网络编程或其他.
从入门到现在有2年,C++基础还算可以,看过WINDOWS PROGRAMMING 5/E,深入浅出,原理方…
[/Quote]
问的比较深..
得说明下,我只是学生,没有任何人指导,只有自己探索的结果.
1.我觉得MFC对我来说最大的好处就是对比API增加了各种类,使用面向对象开发用起来比较规范,比较有层次感.控件方面则比较容易子类化,可以得到自己需要的界面.对消息如何路由做了统筹,还有自己实现的诸如反射消息等.有类向导生成空壳程序,以及消息表,开发比API方便.对初学WINDOWS编程的人都容易上手,尽管可能不了解原理.
缺点,做一般的应用程序基本要使用到比较深的类(从Cobject开始派生),这样会使联结到的.OBJ比较大,整个程序相对比较大(当然,不算什么明显缺点,谁在乎那点空间?).平台问题.有时候做一些东西其实不需要它的框架,如VIEW/DOC,DIALOG等,类层次显的比较庞大.---说实话,缺点自己用的时候没多大体会.

2.这个问题还是不回答好了.目前自己没任何资格评论语言
bdzwj 2009-04-07
  • 打赏
  • 举报
回复
个人感觉WTL很好用,框架也很完善,不比MFC差
金金2019 2009-04-07
  • 打赏
  • 举报
回复
WTL 其实就是SDK
所有的东西就是 API 功能都要自己写
做界面确实不错

但是功能什么的都要自己API了

无所谓 好不好用, 个人喜好了.
如果团队都用, 那么都用,
如果团队都不用用,你自己用,^_^


  • 打赏
  • 举报
回复
[Quote=引用 11 楼 j8daxue 的回复:]
问的比较深..
得说明下,我只是学生,没有任何人指导,只有自己探索的结果.
1.我觉得MFC对我来说最大的好处就是对比API增加了各种类,使用面向对象开发用起来比较规范,比较有层次感.控件方面则比较容易子类化,可以得到自己需要的界面.对消息如何路由做了统筹,还有自己实现的诸如反射消息等.有类向导生成空壳程序,以及消息表,开发比API方便.对初学WINDOWS编程的人都容易上手,尽管可能不了解原理.
缺点,做一般的应用程序基本要使用到比较深的类(从Cobject开始派生),这样会使联结到的.OBJ比较大,整个程序相对比较大(当然,不算什么明显缺点,谁在乎那点空间?).平台问题.有时候做一些东西其实不需要它的框架,如VIEW/DOC,DIALOG等,类层次显的比较庞大.---说实话,缺点自己用的时候没多大体会.

2.这个问题还是不回答好了.目前自己没任何资格评论语言
[/Quote]

对于第二个问题,没让你评论,你的使用C++过程中有没有发现某个特性用起来很方便么?
DarknessTM 2009-04-07
  • 打赏
  • 举报
回复
WTL的问题还是资源太少了

像MFC这种,有许多别人的成果可以直接用


还有就是 VS环境下的智能提示,对C++ 大量模板的提示效果不好……
j8daxue 2009-04-07
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 akirya 的回复:]
对于第二个问题,没让你评论,你的使用C++过程中有没有发现某个特性用起来很方便么?
[/Quote]
在读学生很多没做过实际项目,所以不可能写很多很复杂的类.
最近找工作时,一般就是写写算法,一些数据结构练练手.
如果说特性的话,只是从书上看过.指针是从C弄过来的,好用性不多说.
继承,多态,模板这些就是非常好的特性了.
毕业设计中对继承,多态体会的有点深刻.

如果过于肤浅,还望指教
jameshooo 2009-04-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 Loaden 的回复:]
WTL的问题:
1. 没有文档,所以只能看源码(这是很痛苦的,痛苦的让我最终放弃了WTL)
2. 不被官方认可,目前已经持续一年多没更新。(以后更不更新,不好说,但估计生命力不会太强)
3. 全手工写代码,开发效率低下。

所以,建议楼主关注下:wxWidgets
[/Quote]

1、虽然文档少,但是源码大都很简洁,能学到很多东西。
2、WTL8.5都有了,支持了很多VISTA的特性,估计WIN7出来后它还会继续更新,要知道WTL就是ATL项目组成员折腾出来的。从另一个角度说,版本更新太勤快并不是好事。
3、用过WTL Helper吗?用了就知道它有多方便,向导功能不亚于MFC。
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 j8daxue 的回复:]
引用 2 楼 akirya 的回复:
WTL基于ATL的,用到比较少.

不知道lz对于MFC的原理 了解多少?

在下只是尚未找到工作的学生,主要原因是做WINDOWS程序的少(多半是JAVA和.NET招聘),使用MFC的更少(使用其他工具BORLAND C++ VB DEIPHL等,或者其他C++库),当然也算会用WIN32API,另外就是LINUX C++了,做网络编程或其他.
从入门到现在有2年,C++基础还算可以,看过WINDOWS PROGRAMMING 5/E,深入浅出,原理方面算是有点了解,GDI/GDI+等都…
[/Quote]
那你能不能说出来MFC设计的优点,缺点?
C++语言有那些优点,为啥要这样设计语言?
老邓 2009-04-06
  • 打赏
  • 举报
回复
wxWidgets + wxFormBuilder 开源,跨平台,RAD,真的很爽!
老邓 2009-04-06
  • 打赏
  • 举报
回复
WTL的问题:
1. 没有文档,所以只能看源码(这是很痛苦的,痛苦的让我最终放弃了WTL)
2. 不被官方认可,目前已经持续一年多没更新。(以后更不更新,不好说,但估计生命力不会太强)
3. 全手工写代码,开发效率低下。

所以,建议楼主关注下:wxWidgets
jameshooo 2009-04-06
  • 打赏
  • 举报
回复
学习WTL不需要多少COM知识,但是必须掌握模板技术。虽然它是基于ATL的扩展,但ATL偏重于开发COM组件,同时ATL对窗口做了很原始很基础的封装,WTL正好在这个基础上扩展了ATL的功能,使得编写窗口程序方便不少。
如果熟悉MFC的人初次接触WTL,还是有些不顺手的,但是一旦上手了,开发的便捷性不会比MFC差。
flm007 2009-04-06
  • 打赏
  • 举报
回复
WTL我感觉学习没必要,有几个企业用WTL啊,要是自己当兴趣学也就无所谓了。
j8daxue 2009-04-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 akirya 的回复:]
WTL基于ATL的,用到比较少.

不知道lz对于MFC的原理 了解多少?
[/Quote]
在下只是尚未找到工作的学生,主要原因是做WINDOWS程序的少(多半是JAVA和.NET招聘),使用MFC的更少(使用其他工具BORLAND C++ VB DEIPHL等,或者其他C++库),当然也算会用WIN32API,另外就是LINUX C++了,做网络编程或其他.
从入门到现在有2年,C++基础还算可以,看过WINDOWS PROGRAMMING 5/E,深入浅出,原理方面算是有点了解,GDI/GDI+等都使用很多次.一些封装套接字,内部容器,COM,数据库方面则没怎么接触.说实话也不知道到底要学到怎么样才算好...
wqvbjhc 2009-04-06
  • 打赏
  • 举报
回复
对于WTL的资源比较少,LZ学习要有准备
  • 打赏
  • 举报
回复
WTL基于ATL的,用到比较少.

不知道lz对于MFC的原理 了解多少?
hust_terry 2009-04-06
  • 打赏
  • 举报
回复
主要是做com控件用的,比ATL功能丰富些,算是有点偏的东西了,如果不是需要做很复杂的控件界面基本就不会用到它。
WTL 具有两面性,确实是这样的。它没有MFC的界面(GUI)类库那样功能强大,但是能够生成很小的可执行文件。如果你象我一样使用MFC进行界面编程,你会觉得MFC提供的界面控件封装使用起来非常舒服,更不用说MFC内置的消息处理机制。当然,如果你也象我一样不希望自己的程序仅仅因为使用了MFC的框架就增加几百K的大小的话,WTL就是你的选择。当然,我们还要克服一些障碍: ATL样式的模板类初看起来有点怪异 没有类向导的支持,所以要手工处理所有的消息映射。 MSDN没有正式的文档支持,你需要到处去收集有关的文档,甚至是查看WTL的源代码。 买不到参考书籍 没有微软的官方支持 ATL/WTL的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与WTL。 从另一方面讲,WTL也有它自身的优势: 不需要学习或掌握复杂的文档/视图框架。 具有MFC的基本的界面特色,比如DDX/DDV和命令状态的自动更新功能(译者加:比如菜单的Check标记和Enable标记)。 增强了一些MFC的特性(比如更加易用的分隔窗口)。 可生成比静态链接的MFC程序更小的可执行文件(译者加:WTL的所有源代码都是静态链接到你的程序中的)。 你可以修正自己使用的WTL中的错误(BUG)而不会影响其他的应用程序(相比之下,如果你修正了有BUG的MFC/CRT动态库就可能会引起其它应用程序的崩溃。 如果你仍然需要使用MFC,MFC的窗口和ATL/WTL的窗口可以“和平共处”。(例如我工作中的一个原型就使用了了MFC的 CFrameWnd,并在其内包含了WTL的CSplitterWindow,在CSplitterWindow中又使用了MFC的CDialogs -- 我并不是为了炫耀什么,只是修改了MFC的代码使之能够使用WTL的分割窗口,它比MFC的分割窗口好的多)。 在这一系列文章中,我将首先介绍ATL的窗口类,毕竟WTL是构建与ATL之上的一系列附加类,所以需要很好的了解ATL的窗口类。介绍完ATL之后我将介绍WTL的特性以并展示它是如何使界面编程变得轻而易举。 对第一章的简单介绍

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧