【发布时间】:2009-08-06 14:50:33
【问题描述】:
如果我创建一个新的 Delphi 表单,挂钩其 OnResize 事件并运行应用程序,则 OnResize 在窗口显示之前被触发。我不知道这是否会一直发生,对于任何窗口。
(对于熟悉 Windows API 的任何人,我已将其追溯到 TCustomForm.ShowingChanged 中的 ShowWindow 调用(Delphi 2007 中的 Forms.pas 第 5503 行),这显然触发了 WM_SIZE... 至少,对于一个没有设置其他属性的新窗口。我没有看到它记录 ShowWindow 总是触发WM_SIZE,所以我不知道我是否可以指望这个。)
所以:我可以依靠 TForm always 在首次显示时触发 OnResize 吗? 或者是否存在某些情况(如果窗口不可调整大小,或者如果Position 属性具有某些值,等等)OnResize 可能不会在窗口首次显示之前触发?
【问题讨论】:
标签: delphi startup vcl onresize