MFC似乎严重缺乏布局管理器/大小。很难相信任何有自尊的UI库都会缺少sizers,但这就对了。我已经找到了一些东西,可以很好地处理通常的框布局,但我还没有找到一个尺寸大小,当你需要东西在扩展时垂直和水平对齐时,它会有所帮助。
我从这里得到了大部分信息:
layout manager for MFC dialog apps
我在网上搜索过,每次搜索MFC和grid/anything/结果都是一堆grid小部件,而不是sizers。任何地方都有这样的东西吗?
发布于 2010-11-05 08:15:31
我也没有听说过一个适合MFC的全功能的sizer库。我不认为有什么比这个相关问题中提到的选项更好的了。
在我看来,我怀疑在这一点上任何这样的事情都不会发生。其他成熟的GUI框架已经在默认情况下集成了适当的sizer特性,同时也弥补了MFC的许多其他缺陷。我想很多人会说,现在为MFC开发这样的东西是不值得的。(我甚至曾经开始开发一种可以应用于MFC的通用尺寸库,但最终失去了抱负,把它放在了一边。)
此外,我觉得微软自己已经放弃了MFC作为遗产,转而支持.NET/C#/WPF进行GUI开发。毕竟,看看这些新技术在过去10年左右的时间里取得了多大的进步,而与此同时,MFC除了偶尔增加一个功能包之外,几乎没有什么变化。
如果可行的话,我建议考虑迁移到更现代的C++框架(例如Qt)或.NET/C#/WPF (至少对于应用程序的图形用户界面部分)。
发布于 2010-11-13 05:10:49
几年前,我在使用WTL时遇到了这个“问题”。我受够了太复杂的WM_SIZE处理程序,所以我咬紧牙关实现了几个布局容器,并将Win32控件和我自己的一些控件调整到布局容器中。
我基本上为每个控件创建了子类,并为"MinSize,MaxSize,PreferredSize“实现了我自己的协议。有些控件很难实现,但没有什么是不可能的。这并不是很难做到的,所以你可能需要考虑一下,然后去做。就子类化而言,MFC不如ATL/WTL灵活,但它足够灵活。
不幸的是,我不能和你分享代码。:/我甚至在顶部添加了一个简单的XML标记语言,这非常好。
https://stackoverflow.com/questions/4100196
复制相似问题