【发布时间】:2014-11-19 02:08:45
【问题描述】:
我正在构建一个可重复使用的TFrame,其中包含一个TcxPageControl。想法是将框架拖放到表单上,然后我可以添加特定于该表单的页面。
这很好用,我可以通过设计器成功添加页面,并在运行时显示这些标签页。但是,问题是任何被放到TcxTabSheet 上的组件都不会。
如果我在框架本身上添加一个页面(即基本框架,而不是拖放到表单上的那个)并在其上放置组件,那些显示。但是,如果我将组件从表单中拖放到同一页面上,它们不会。
我显然在这里遗漏了一些东西,但我原以为页面控件可以像在任何形式上一样工作(不管它是否从 TFrame 浮出水面)但显然似乎有 一些东西 em> 不喜欢。
这是一个错误还是我做的不对?
注意 - 我正在使用“添加到调色板”选项将框架添加为组件,因为我想显示 TPageControl 属性(以防万一)
【问题讨论】:
-
使用标准
TPageControl会发生什么? -
@LURD 奇怪的是,添加新页面控件的选项被禁用(通过设计器),因此我使用
TcxPageControl。这种情况的另一个奇怪之处是,如果我在设计时将一个组件添加到TcxTabSheet,查看 DFM 文件 (Alt+12) 然后切换回来,该组件不再存在,但它仍然在表单中声明。当我保存时,系统会提示我删除它,因为它没有声明:S 在TFrame上肯定出现了一些紧张的行为。 -
在我们的应用程序中,我们在
main form中使用TcxPageControl。TcxTabSheets是在运行时创建的,并获得分配的TFrame后代。其中一些TFrame有一个TcxPageControl和TcxTabsheet在设计时创建的组件。此架构完美无缺。我想手头肯定有别的东西。如果这很重要,我们正在使用Delphi XE5和devExpress 13.2.3。 -
@GuillemVicens 我能够用
TFrame和TcxPageControl重现此问题 - 我已将问题报告给 DevExpress 团队并提供了sample app,您可以尝试运行它你自己看看行为是否在你的构建上是一致的。仅供参考,我在v14.1.4和Delphi XE3。 -
@James,我可以确认我的环境也发生了同样的情况。我猜这是因为 Delphi 将“原始”
TFrame编译到表单中,而忽略了form上的那个。不确定是否或如何解决,抱歉。
标签: delphi devexpress tframe tpagecontrol ttabsheet