【发布时间】:2010-11-11 11:00:06
【问题描述】:
为什么 Visual Studio 中没有原生 API 表单的设计器?类似于德尔福? 如果有一些程序、工具等,请指教。
在纯 API 中设计复杂窗口的最佳方法是什么?
【问题讨论】:
-
使用资源对话框编辑器可视化设计你的对话框窗口(仅适用于 VS Ultimate,但不适用于 VS Express)。
标签: c++ winapi forms form-designer
为什么 Visual Studio 中没有原生 API 表单的设计器?类似于德尔福? 如果有一些程序、工具等,请指教。
在纯 API 中设计复杂窗口的最佳方法是什么?
【问题讨论】:
标签: c++ winapi forms form-designer
有用于对话框的资源编辑器,然后是代码。 我从来没有真正错过一些可视化设计工具,尽管控件本身提供更好的支持会很好。
核心问题是抽象级别: 仅使用 Win32 控件,设计复杂的 GUI 需要一些先见之明,并且这些控件都具有略微不同的怪异、功能和特性。它们没有可用于在其上构建设计器的通用界面。
WinForms 在设计之初就考虑到了对设计者的支持,这表明了这一点。 Win32 控件的主要设计问题是代码和数据的内存占用。
即使是 MFC(仍然显示出许多内存不足的迹象)也无法很好地抽象出这些奇怪的东西,以保证一个像样的表单设计师。
带有不错的表单编辑器的所有环境(我记得 Watcom ++ / Optima、ZINC 以及其他一些我忘记了名称的环境)还带有一个不错的具有高抽象级别的表单库。
那么,修改的问题就来了。设计师的输出应该是什么?一个人可以拍摄一个 XML 数据文件,但这会给您的原生应用程序添加一些大型库的依赖关系 - 没有多大意义。或者您创建代码,但 C/C++ 不太适合。另一种二进制格式?你会把自己限制在设计师允许的范围内。
最后,设计者不得不单独处理每个控件,仍然无法让您完全了解控件和窗口机制。当 C++ 是大规模桌面开发的首选时,它从未被采用过。 现在添加它,当有 - 可以说 - 更好的选择时,将是一个相当愚蠢的举动。
【讨论】:
这是因为微软。他们已经转向 dotNet 和 C#。 Visual Studio 2005 为这些提供了不错的 GUI 编辑器。为什么需要使用纯 API?
【讨论】: