gpt4 book ai didi

delphi - TFrame 子级需要 OnCreate 事件

转载 作者:行者123 更新时间:2023-12-03 15:50:30 26 4
gpt4 key购买 nike

我在 Delphi 7 中遇到框架和继承问题。

假设我使用 visible=false 定义一个框架(在设计时)。现在,我将此框架嵌入到某个表单中,并在表单内的框架的嵌入实例上设置 visible=true (也在设计时)。

现在假设我想根据设计时设置的可见属性来初始化嵌入框架。问题是简单地覆盖框架的构造函数不起作用,因为在构造函数内部我总是得到 visible=false (我猜是因为 DFM 属性尚未被读取)。我也不想将初始化代码放在Form单元中,因为这个逻辑只属于Frame。

处理此类案件的最佳经验法则是什么?

澄清Frame.Visible 只是一个示例。该问题与在设计时设置的框架或其内部组件的所有其他属性相关。例如,假设我们正在讨论框架内 TEdit 的颜色。

最佳答案

您不能在构造函数中编写属性敏感代码,因为正如您所指出的,在构造函数运行时不一定会读取 DFM 属性。相反,重写框架类的 Loaded 方法并将代码放在那里。从 DFM 加载属性后调用它。

请注意,Visible 不适用于该技术,但其他属性可以。

关于delphi - TFrame 子级需要 OnCreate 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13788418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com