当TcxPageControl托管在TFrame中时,添加到TcxTabSheet的组件不会在运行时显示

时间:2014-09-24 14:21:10

标签: delphi devexpress tframe tpagecontrol ttabsheet

我正在构建一个可重复使用的TFrame,其中包含TcxPageControl。我的想法是将框架放到表单上,然后我可以添加特定于该表单的页面。

这很好用,我可以通过设计器成功添加页面,并在运行时显示这些标签页。但是,问题是任何被放到TcxTabSheet上的组件。

如果我在Frame本身上添加一个页面(即基本帧,而不是放在表单上的那个)并在其上放置组件,那些就显示了。但是,如果我将组件从表单中删除到同一页面上,他们就不会。

我显然在这里遗漏了一些内容,但我认为页面控件可以像任何形式一样工作(无论它是否来自TFrame)但显然似乎有 它不喜欢。

这是一个错误,还是我做得不对?

注意 - 我正在使用"添加到调色板"将框架添加为组件的选项,因为我希望显示TPageControl属性(重要的是)

1 个答案:

答案 0 :(得分:0)

事实证明,此行为实际上是VCL限制,而不是对TcxPageControl组件本身的限制。这里的区别是TcxPageControl允许从Frame实例中添加误导性的页面。

解决方法是简单地从包含TFrame(或甚至只是标准TcxPageControl)的TPageControl实例继承并在其中添加页面。这并不理想,因为这意味着我每页有效地创建一个单独的TFrame,但至少这意味着我可以重复使用作为目标的公共代码。

Clarification from DevExpress