5

我正在为我的下一个项目考虑不同的用户界面布局,我想知道是否有集成或 3rd 方框架允许我创建选项卡式文档界面?

澄清一下,我想要的不是某种对接机制或 MDI 界面,而是主要是一个框架,它允许我拥有一个主窗体和一个或多个辅助窗体,这些辅助窗体将在主窗体内显示为选项卡。

虽然我说我不想要任何类型的对接机制,但我制作了一个实际使用它的小型测试应用程序。我得到的结果非常接近我想要的。首先,我错过了一些功能,例如每个选项卡上的关闭按钮。其次,我必须创建自己的某种框架来自动化所有任务,例如创建和销毁选项卡、将每个新表单与其选项卡相关联、在相关选项卡关闭时释放表单等等。我并不是说我做不到,但我想知道是否有任何现成的框架已经具备所有这些功能。虽然我更喜欢开源解决方案,但也欢迎商业解决方案。

4

5 回答 5

7

第三方组件在这里不是强制性的。

你可以使用标准的 Delphi 控件来获得你想要的:

  • 在表单上放置一个 TPageControl(来自 Win32 选项卡);
  • 将其 Align 属性设置为 alClient;
  • 右键单击控件,然后选择“新建页面”以添加新页面。

然后不要在表单上写你的“标签式”界面,而是在框架上。

您还可以通过代码创建页面,在每个页面内显示框架。

于 2011-01-16T08:20:31.637 回答
6

我不认为选项卡式界面有任何框架,但是对于每个选项卡上带有关闭按钮的漂亮选项卡/页面控件,请检查以下内容:

  1. rkSmartTabs,它模拟 Google Chrome 浏览器的标签式 UI。它是开源的。
  2. TAdvOfficePager,MS Office 风格。

希望能帮助到你。

于 2011-01-16T06:03:33.783 回答
1

我建议使用工具栏(TToolBar 或任何类似工具)和框架(TFrame)来模仿选项卡式界面,原因?!好吧,Delphi 正在跨平台(这不是什么秘密),如果不是所有 Delphi 附带的标准 VCL,他们将移植大部分,所以为什么不使用这个作为优势呢?

只需在用户单击工具栏上的按钮时(动态)创建框架并销毁前一个(如果存在),这样您就可以将内存使用量保持在最低限度,应用程序启动/关闭时间将非常好,另一方面,如果您选择使用 (cx)TPageControl、TAdvPager 等,您可能会陷入这样一种情况,即一种形式(我怀疑的主要形式)将拥有如此多的 VCL,以至于它会占用大量不必要的内存并且速度会很慢.

使用框架有很多优点,如果在您的应用程序的某个地方需要显示“选项卡”,您可以简单地动态创建所需的框架并使用它而无需额外的工作。

无论如何,这是我的两分钱,希望这会有所帮助。

于 2011-01-16T13:03:07.643 回答
0

我推荐 TvjPageList,它是JVCL组件套件的一部分。它是开源的,似乎符合您的要求。

于 2011-01-16T06:02:10.000 回答
0

我使用 JVCL JvDocking 及其选项卡式停靠系统来制作类似 MDI 的应用程序。

除了将它们放在选项卡中之外,您还可以浮动或平铺窗口。

于 2011-06-17T00:41:53.000 回答