【发布时间】:2014-02-14 16:53:02
【问题描述】:
我有一个从 TStringGrid 派生的控件。 在创建过程中,我想访问 Cancas 进行一次初始化。 我无法在 Create 中执行此操作,因为 Canvas 尚未准备好。我也不能在 CreateWnd 中这样做,因为 CreateWnd 它被多次调用。
有一些便宜的技巧(使用布尔变量)来初始化该 var 一次,但我想知道如何以“好方法”来做。 因此,由于 Create 和 CreateWnd 不是一个好地方,在创建控件期间我只能初始化 var 一次。
【问题讨论】:
-
第一次使用前不能检查一下吗?
-
一般你不想只做一次,比如控件的字体可以改变。
-
@Sertac,好点子!
CM_FONTCHANGED消息处理程序不是正确的地方吗?该消息不是在控件初始化时发送的吗? -
@TLama - 好吧,我看不出有什么理由在绘画时不应该调用它。
-
@Sertac,过早优化,也许?
标签: delphi