我正在为我的下一个项目考虑不同的用户界面布局,我想知道是否有集成或第三方框架允许我创建选项卡式文档界面?
为了澄清,我想要的不是某种对接机制或者是MDI接口,而是主要是一个框架,它允许我有一个主要形式和一个或多个辅助形式,它们将在主要形式中显示为制表符。
虽然我说我不想要任何类型的对接机制,但我做了一个实际使用它的小型测试应用程序。我得到的结果非常接近我想要的。首先,我想念一些功能,如每个标签上的关闭按钮。其次,我必须创建自己的某种框架,以便自动执行所有任务,例如创建和销毁选项卡,将每个新表单与其选项卡相关联,在关联的选项卡关闭时释放表单等等。我不是说我做不到,但我想知道是否有任何现成的框架已经拥有所有这些功能。虽然我更喜欢开源解决方案,但也欢迎使用商业解决方案。
答案 0 :(得分:7)
此处不强制使用第三方组件。
您可以使用标准Delphi控件来获得所需内容:
然后不要在表单上编写“选项卡式”界面,而是在框架上编写。
您还可以按代码创建页面,在每个页面中显示框架。
答案 1 :(得分:6)
我认为标签界面没有任何框架,但是对于每个标签上带有关闭按钮的漂亮标签/页面控件,请检查以下内容:
希望它有所帮助。
答案 2 :(得分:1)
我建议使用工具栏(TToolBar或任何类似的)和框架(TFrame)来模仿选项卡式界面,原因?!那么Delphi正在跨越平台(毫无疑问)他们将移植大多数(如果不是全部)Delphi附带的标准VCL,那么为什么不将其用作优势?
当用户点击工具栏中的按钮并销毁前一个按钮(如果存在)时,只需创建框架(动态),这样就可以将内存使用量保持在最低限度,应用程序启动/关闭时间将非常好,在另一方面,如果你选择使用(cx)TPageControl,TAdvPager等,你可能会遇到这样一种情况,即一种形式(主要我怀疑)会有这么多的VCL,它将需要很多不必要的记忆,它会很慢。
使用框架有很多优点,如果您的应用程序中某处需要显示“标签”,您可以简单地动态创建所需的框架,无需额外的工作即可使用它。
无论如何,这是我的两分钱,希望这会有所帮助。
答案 3 :(得分:0)
我推荐TvjPageList,它是JVCL组件套件的一部分。它是开源的,似乎符合您的要求。
答案 4 :(得分:0)
我使用JVCL JvDocking及其选项卡式对接系统来制作类似MDI的应用程序。
除了将它们放在标签中之外,您还可以浮动或平铺窗户。