统计

  • 随笔 - 50
  • 文章 - 42
  • 评论 - 147
  • 引用 - 0

留言簿(6)

随笔分类

文章分类

Link

搜索

  •  

积分与排名

  • 积分 - 162978
  • 排名 - 160

最新评论

阅读排行榜

评论排行榜

WTL---WxWidget---MFC 何去何从

C++程序员打交道最多的就是MFC了,这个我不想多说,说来都是泪(C#年年更新,C++十年才出了一个featurePack还不是很好用)

现在另外两支队伍越来越庞大(所谓穷则思变,呵呵),一是WTL,关于它的种种传说可以参考WTL中文教程,里面讲的很详细,这里我想说的是为什么使用WTL:
传说WTL是微软内部所使用的界面框架程序,原因是高效,简洁,实际也是如此,WTL的程序内的内存占用比MFC小的多,而且WTL内建了对于可缩放对话框的支持(支持控件停靠哦),对于多文档以及视类的支持更是MFC望尘莫及的,但是WTL也有其自身的缺点,比如开发文档少,尤其是中文的,向导不够聪明(谁用谁知道,呵呵),换句话说,用WTL就意味着多敲一些代码,不过这个可以有一些第三方工具缓解(还是那句话,穷则思变),如WTL helper,还有国产的WTL helper,还有国产的VFC,两者都是开源软件,放心使用,建议有意开发WTL的程序员先打好基本功,因为这个基于ATL的这个铁娘子不是谁都可以驾驭的哦,如果对程序大小要求不是太苛刻的话,还是拿MFC将就吧

其二就是我最近很感兴趣的WxWidget, 这款框架最大的优势就是真正意义上的跨平台,其注意真正两个字,因为在我看来所谓的java跨平台不过是幌子,有种连JVM也跨平台试试(JAVA拥护者别拍我哦,其实JAVA还是在OO领域很强大的),那真正二字就是因为,WxWidget提供了在本机源码级的跨平台,从此你在让客户使用你软件的时候不必再说:“你必须给我安装×××虚拟机或×××Framwork”,在一个平台下编译的代码,不用做任何更改,在另一个平台下就可以编译通过并且发布,这岂不美哉,而且WxWidget所使用的界面元素几乎都取自本地计算机,就是说你的见面客气来很有亲和力,最终发布的二进制代码文件爱你无论是静态还是动态链接都要比GTK之流小很多(见图表)。有兴趣一试的可以看看WxWidget开发环境配置



说了这么多,总结如下,三种平台各有所长,如果你是windows程序员,那么WxWidget对你而言没有多大意义,如果你刚开始接触C++,那WTL这个高品位新娘也许会让你忙的团团转,呵呵,大家自己斟酌吧

posted on 2008-12-21 22:13 pear_li 阅读(13979) 评论(25)  编辑 收藏 引用 所属分类: C++

评论

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 09:14 路人丁

楼主还搞不清VC++和C++?
“C++程序员打交道最多的就是MFC了……C++十年才出了一个featurePack还不是很好用”应该改为“VC++程序员打交道最多的就是MFC了……VC++十年才出了一个featurePack还不是很好用”
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 09:21 路人乙

和路人丁有同感,楼主说的只是VC或MFC这范围的C++程序员,
我个人感觉做得比较好的C++库,是QT、ACE。
QT与wxWidget等四类GUI库作过比较,赢得过最佳设计与最具表达力的称号。
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 09:26 路人乙

至于GUI选择哪个,
不是影响项目成败或品质的主要因素,
我一般不多考虑,直接用易于把握的库。
我不是来挑刺,纯粹交流。
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从[未登录] 2008-12-22 10:09 megax

发表文章,要严格注意错别字!!!!要不,就不要发在精华栏。
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 10:22 肥仔

总是有很多人喜欢说别人搞不清什么跟什么的区别。我真的很糊涂,那些所谓的区别,在眼里根本就不值一提的东西,有必要写出来吗?

我支持搂主,原创即分享,Great。
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从[未登录] 2008-12-22 10:30 momor

QT固然好,除非你做开源,不然你没看过QTwindow上开发的商业授权费用是多少。另外大家也不要过于对字眼上太过敏感,毕竟我们是程序员不是搞文字工作的,基本从事windows平台的程序员比较多,当然MFC这种现成的东西接触自然比较多了。
我最近也在弄wxWidgets的东西^^
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 10:41 mephisto

GTK之流?
用Xlib做backend的Wxwidgets能用吗?
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 13:33 pear_li

@megax
昨晚发文仓促,已经更正,见谅
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 13:33 pear_li

@路人丁
这个我就不发表什么看法了,个人喜好问题,看懂大意就好
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 13:35 pear_li

@momor
有空多交流^^
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 13:35 duzhongwei

"有种连JVM也跨平台试试"
我还不知道什么是跨平台呢
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 13:49 pear_li

@mephisto
你的意思我不是很明白,现在很少有人直接使用xlib了,而作为软件框架,wxwidget肯定已经为你解决了如何与XWindows底层进行交互的问题了,而具体如何交互(使用Xlib还是XCB你并不需要关心),不知我的回答你是否满意
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-22 13:50 pear_li

@肥仔
谢谢支持~~~~
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从[未登录] 2008-12-22 15:00 阿牛

暂时还没接触跨平台的要求,还在固守MFC,对WTL也不感兴趣.
在软件体积动不动上G的大环境下,就没必要去计较那几百K的目标码了,呵呵.
MFC兼顾性能与开发效率,越来越爱她

支持楼主一下

  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-23 13:47 pear_li

@阿牛
呵呵,谢谢支持,wxwidget在写跨平台软件是很好,一般应用确实没有太大必要,不过,如果你看一下wxwidget的框架,就会发现其实是与MFC非常相似的
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-23 13:57 pear_li

@duzhongwei
简单的说,就是在一种平台下运行的软件,可以在经过少量修改或不修改在另一平台下运行,那么就可以说这个软件是跨平台的,不过这只是一个相对的概念,一般可以在Unix like,windows上运行的软件就称为是跨平台的
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-24 11:06 zhu_jinlong

@肥仔
同意!
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2008-12-26 16:21 呵呵

呵呵
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2009-06-20 19:03 远古毛利人

@pear_li
在Linux下,WxWidget可选择的基于GTK或X11,也就是说WxWidget是建筑在GTK或X11之上的。而X11版的Wx某些功能还不完美,所以可以说Linux下只能使用基于GTK的Wx。说Wx“比GTK之流小很多”是绝对不正确的。
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2009-06-20 23:50 pear_li

@远古毛利人
现在的确有wxGTK这么一说,但是绝不是简单的1+1,可能只是利用了GTK对Xwindow最底层的封装,整体体积必然还是比GTK小,尤其是移植到window之后
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2009-06-23 19:34 kfret

  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2009-08-15 17:34 李侃

MFC都用习惯了,是陈旧了点,不知道为什么没有后续支持来升级UI库,可能这就是真正挨骂的原因吧,
WxWidget 好像也是很庞大的哦,里面的例子很多,确实很吸引人
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2011-04-12 13:03 dyb

我在一个基于对话框的mfc应用程序中,用添加消息对话框添加了WM_KEYDOWN消息
但在OnKeyDown()函数的语句得不到执行,在OnKeyDown()设置中断运行时也不会中断
不知道为什么,如要响应键盘事件,应该怎样做?
谢谢!
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2011-04-12 13:04 dyb

我在一个基于对话框的mfc应用程序中,用添加消息对话框添加了WM_KEYDOWN消息
但在OnKeyDown()函数的语句得不到执行,在OnKeyDown()设置中断运行时也不会中断
不知道为什么,如要响应键盘事件,应该怎样做?
谢谢!

也可 himanzj@sohu.com
  回复  更多评论    

# re: WTL---WxWidget---MFC 何去何从 2011-04-19 23:32 pear_li

@dyb
现在多时不用mfc
不过外猜测你的问题在于添加WM_KEYDOWN的位置,你可以试试在frame里添加试试
  回复  更多评论    

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理