嵌套页面控件有哪些设计替代方案?

时间:2010-02-05 22:25:01

标签: delphi user-interface application-design

在我们的主要应用程序中,我们有一个表单,允许我们以四种不同的方式对数据进行交叉表分析。目前,每个分析都显示在屏幕上的PageControl页面中。现在,高层管理人员希望我们在表单中添加一个历史方面,在其他方面我们会使用PageControl来做,但嵌套其中两个似乎是一个坏主意,显示句点和分析标签堆叠在顶部彼此。有没有人有任何建议,我们如何重新工作,看起来像样,运作良好?感谢。

3 个答案:

答案 0 :(得分:4)

如何在表单底部使用TTabset控件以允许在历史时段和当前数据之间切换?我还要确保在历史数据和当前数据的数据呈现方式上存在视觉差异。比如使用灰色单元格背景来获取历史数据。

答案 1 :(得分:2)

使用垂直的小(水平)TTabSet。

请参阅here(您可以点击图片进行缩放)。 TTabSet随Delphi一起发货。如果您的要求很低,可以很容易地写出垂直的。如果你愿意,我可以分享代码。但是如果你想要一个更好的垂直标签集,那么你可以花更多的时间在写作上,或者从Torry或其他地方准备一个。

HTH。

答案 2 :(得分:1)

恕我直言,您可以为每个分析结果页面使用框架,然后您可以使用PageControl或TabSet或任何其他可视控件来加载和显示相应的框架。

由于框架完全独立于您用于选择适当周期和分析的可视控件,因此您不会受限于基于选项卡的控件;例如,您可以有一个用于分析选择的tabset,以及一个用于句点选择的树视图。

框架在这里也有一些额外的好处:

  • 首先,他们的代码保存在 单独的单位,这将增加 代码可读性。
  • 其次,您可以设计基础框架 并把所有控件和代码 所有这4个分析共享的内容 那个基础框架,并以这种方式 更好的代码重用。
  • 第三,你可以放弃每一帧 在您的主表单上并加载它们 就像以前一样,或者你可以定义一个 容器控制(例如面板),和 根据用户的选择负载之一 框架进入容器控制 动态地减少初始负载 申请时间,以及 可能会减少整个系统 资源消耗。