Delphi GUI设计规范和指南

9
我正在寻找一种标准化应用程序布局的方法,以提高我的生产力,因为我在每个表单和对话框上定位视觉元素浪费了太多时间。我开始四处寻找,并在MSDN上找到了相关信息。
由于Delphi VCL Designer使用像素,所有组件的高度和宽度都是以像素为单位。我想知道是否有一种简单的方法来应用这些建议,或者是否有一个Delphi等效工具。
例如:在建议中,编辑框和按钮的高度应该相同,但Delphi的默认高度为TEdit为21,TButton为25。每次放置按钮时更改这些值是荒谬的。

1
+1. 我不明白为什么这不是一个“真正的问题”。 - Andreas Rejbrand
2
你想要实现链接的哪个部分?从像素到DLU的转换?链接已经解释了这一点。建议的高度大小?Windows会自动处理。控件之间的间距?如果您想要根据系统特定的基础适应DLU,那么必须在运行时完成,或者您可以使用Delphi内置的缩放功能。全部吗?我不清楚问题的具体含义 - 那是一个很长的文档。在我看来,按照提问的方式无法回答。RRUZ的尝试导致了9个链接和没有回答问题的链接(无意冒犯RRUZ)- 按照提问的方式无法在此回答。 - Ken White
2
@Ken,这个问题不是很具体,但我认为理解这个问题的关键在于“…我花费太多时间在每个表单和对话框上定位可视元素…我想知道是否有一种简单的方法来应用那些建议?”好的,对此的回答是使用gexperts或Cnpack向导来简化这个过程,并阅读更新的MSDN文档以遵循可视化指南。 - RRUZ
1
@RRUZ:我不敢苟同。这个问题太过模糊,对我来说它并没有比“如何在Delphi中设计现代用户界面”更完整。这个问题几乎无法回答,你不得不发布至少9篇文章,其中7篇基本上与OP的链接相同。你可能会说“根据链接中的测量结果进行间距设置”。GExperts和CNWizards可能会让事情变得更容易一些,但在IDE中使用多选控件并使用箭头键移动它们也是如此。它们如何实现链接文章的全部指南?如果它们没有,哪些部分没有实现? - Ken White
2
这不是一个真正的问题,而且它也没有答案。有人必须定位UI元素。那个人就是设计师。没有捷径可走。 - David Heffernan
显示剩余8条评论
3个回答

11

由于您使用的是目前仅针对Windows系统的Delphi,因此必须遵循Microsoft指南,建议查看更新版本的链接Windows用户体验交互指南

请参考以下与Windows视觉指南相关的链接

以及来自Embarcadero网站的内容

此外,您可以使用插件如GExpertsCnWizards来同时设置多个控件的可视属性,例如(宽度、高度、选项卡顺序等)。


不是一个简单的答案,感谢插件。 - Najem

2
这可能不是你所寻找的答案,但从“我浪费了太多时间”的角度来看,你可能会对Developer Express Layout Control(http://www.devexpress.com/Products/VCL/ExLayoutControl/)感兴趣。

这个组件的好处在于布局规范可以集中保存在“布局存储库”中,因此您可以在一个地方调整所有控件上的间距和外观。

它还可以很好地导入现有的窗体及其控件,因此转换不是主要问题。他们说布局控件与开发者Express编辑器(我使用)配合得最好,所以我不能对“标准”VCL控件的任何特定问题发表评论。

(免责声明:只是一位满意的客户,没有关联)


如果我得不到满意的解决方案,我首先会尝试开源解决方案,或许接下来会尝试 ExLayoutControl!!! - Najem

0

使用框架

通过使用框架,您可以提高应用程序的一致性。

如果您有一个屏幕或面板,在多个位置使用相同的控件,则可以使用一个框架来驱动所有控件。因为只有一个源,所以框架在任何地方都会看起来完全相同。

您只需一次定位组件,就能节省时间。
如果将尽可能多的代码放到框架中,也可以节省编写代码的时间。
在较新的Delphi版本中,最好使用框架,因为在旧版Delphi上实现框架不是100%无错误的。

在Delphi 2007 (我使用的版本) 中,它们运行良好。

参见:Delphi中使用框架的接受方式是什么?


如果您需要重复使用相同的内容,框架可以节省您的时间。谢谢。 - Najem

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接