mfc界面库

时间:2024-09-15 23:27:26编辑:阿星

有哪些界面库提供了类似于Visual Studio那样的dock布局方式

先自问自答一发,写一下我知道的支持dock布局的界面库和不足之处(只说dock功能):
1.MFC,从VS2010开始的MFC开始支持的比较完善,完全可以实现类似VS2008界面中的各种dock功能,可惜不跨平台,而且不能隐藏客户区
2.BCGControlBar,基于MFC的,基本上和VS自带的MFC差不多,就是多了些皮肤,商业的,购买后能得到源码
3.Xtreme Toolkit Pro,也是基于MFC的,也是商业的购买后能得到源码,功能比VS自带的MFC和和BCG多很多,可以隐藏客户区,也能换皮肤
4.DockPanel Suite,C# winform的,开源(好像不更新了也不知道是转闭源了),可以用mono跨平台,不过我在linux测试各种崩溃。。。不能隐藏客户区但是文档也可以dock,其他功能都能实现
5.AvalonDock - Home,WPF的,也好久没更新了,也是不能隐藏客户区但是文档也可以dock,其他功能都能实现
6.Qt的QDockWidget,两个可停靠窗口不能并排,而且有些地方不能停靠(不太好描述,不知道是不是qt的bug),不能自动隐藏,拖动时没有箭头引导,可停靠窗口标题栏不能添加按钮,比较丑...
7.wxWidgets的aui,两个可停靠窗口不能重叠,没有 自动隐藏,拖动时没有箭头引导,不能隐藏客户区
8.有很多java的界面库能实现dock,对java写界面不熟,详细情况不太清楚
9.最近发现有个Eiffel语言,这个语言有个界面库能实现跟上面说的绝大多数功能,也可以跨主流的平台,可惜只是编译了下dock的example生成的可执行程序就100M+,不知道是不是我搞错了
10.gtk也有个dock组件,gimp好像就是用的他,不过效果很差劲
11.还有一大堆C#写的,都比DockPanel Suit和AvalonDock差太远了,没什么实用价值
12.Win32++,bug太多,隐藏客户区自动隐藏这些功能也都无法实现
13.WTL也有个dock库,一时间找不到了,功能上倒是都挺齐全不过也是有年头没更新了,还不如用MFC
14.VCL中好像也有,不过功能也是不全,不跨平台
大概也就这些了。


有哪些界面库提供了类似于Visual Studio那样的dock布局方式

先自问自答一发,写一下我知道的支持dock布局的界面库和不足之处(只说dock功能):1.MFC,从VS2010开始的MFC开始支持的比较完善,完全可以实现类似VS2008界面中的各种dock功能,可惜不跨平台,而且不能隐藏客户区2.BCGControlBar,基于MFC的,基本上和VS自带的MFC差不多,就是多了些皮肤,商业的,购买后能得到源码3.Xtreme Toolkit Pro,也是基于MFC的,也是商业的购买后能得到源码,功能比VS自带的MFC和和BCG多很多,可以隐藏客户区,也能换皮肤4.DockPanel Suite,C# winform的,开源(好像不更新了也不知道是转闭源了),可以用mono跨平台,不过我在linux测试各种崩溃。。。不能隐藏客户区但是文档也可以dock,其他功能都能实现5.AvalonDock - Home,WPF的,也好久没更新了,也是不能隐藏客户区但是文档也可以dock,其他功能都能实现6.Qt的QDockWidget,两个可停靠窗口不能并排,而且有些地方不能停靠(不太好描述,不知道是不是qt的bug),不能自动隐藏,拖动时没有箭头引导,可停靠窗口标题栏不能添加按钮,比较丑...7.wxWidgets的aui,两个可停靠窗口不能重叠,没有 自动隐藏,拖动时没有箭头引导,不能隐藏客户区8.有很多java的界面库能实现dock,对java写界面不熟,详细情况不太清楚9.最近发现有个Eiffel语言,这个语言有个界面库能实现跟上面说的绝大多数功能,也可以跨主流的平台,可惜只是编译了下dock的example生成的可执行程序就100M+,不知道是不是我搞错了10.gtk也有个dock组件,gimp好像就是用的他,不过效果很差劲11.还有一大堆C#写的,都比DockPanel Suit和AvalonDock差太远了,没什么实用价值12.Win32++,bug太多,隐藏客户区自动隐藏这些功能也都无法实现13.WTL也有个dock库,一时间找不到了,功能上倒是都挺齐全不过也是有年头没更新了,还不如用MFC14.VCL中好像也有,不过功能也是不全,不跨平台大概也就这些了。


为什么大公司都不用mfc和qt?

一、市场原因有问题,找百度。生活中遇到困难了,找百度;工作中遇到难题了,找百度;学习中遇到不会的,还是找百度。这是人们已经对百度形成了潜意识,认为出了问题、有困难找百度一定能找到解决的办法。这也就形成了百度目前在搜索引擎市场这么大的份额,其他的如360、搜狗、神马等虽然说比重有所上升,但是短时间内很难超过百度。二、流量、效果原因这个原因很好理解,因为前几年百度竞价推广效果那是真的好啊。只要舍得花钱,就一定能出效果,而且谁出的钱多,来得流量就越大,效果就越好。这也就让很多公司企业形成了一种潜意识,认为只要做好百度,流量自然就有了,流量有了效果自然就出来了。至于其他的如360、神马、搜狗这些反正都没多少流量,基本就是放在那,不怎么管,心思全花在百度上面了,自然就忽略了其它渠道。1、MFC是封装了WIN API的,里面很多数据类型、头文件等,都是直接沿用WIN API的,所以会经常看到DWORD、WORD、HWND等这样的数据类型。需要有比较好的WIN API基础,看起来才不那么费劲。MFC可以静态,也可以动态编译,对于做外挂这些系统依赖比较大的比较好做。2、Qt是比较抽象的封装,日常使用开发桌面程序时,基本上不会用到底层的WIN API,都是用Qt自己的类,也不会用到WORD、DWORD这些,不需要太了解WIN API。

QT和MFC哪个更好

1、语言本身
QT:跨平台,语法结构简单清晰。面向对象的特性体现的比MFC明显。代码写起来比较优雅,也就是说上手会快一点。

MFC:在Windows平台地位毋庸置疑,QT在windows下基本属于非主流了。个人感觉MFC相较于QT是比较杂乱的,你可以看下MFC以及QT
的实例代码,直观上就可以了解了。并且要写MFC必须要知道Windows的消息循环机制。而QT开始时并不需要了解Windows底层的东西。

2、学习资源
QT:基本上只有官方的官网和demo了,相关的开发论坛比MFC的少很多,毕竟敲MFC的人要多。
MFC:MSDN资源,对于初学者来说可能MSDN比较枯燥,相关论坛和那种问答的资源要多很多,一般初学者遇到的问题都可以看到前辈们的解决方法。

3、IDE以及开发配置
初学者应该是windows,对于MFC,一个Visual Studio就足够了。QT,用QT Creator,配置也不会太麻烦。

个人建议:QT。

推荐《精通QT4编程》一书


上一篇:长治公务员

下一篇:没有了