如果我创建一个新的 Delphi 表单,挂钩其 OnResize 事件并运行应用程序,则在显示窗口之前会触发 OnResize。我不知道这是否会永远发生,对于任何窗口。
(对于熟悉 Windows API 的任何人,我已将其追溯到 TCustomForm.ShowingChanged 中的 ShowWindow 调用(Delphi 2007 中的 Forms.pas 第 5503 行),这显然触发了一个WM_SIZE
......至少,对于一个没有其他的新窗口属性设置。我还没有看到它记录 ShowWindow 总是触发WM_SIZE
,所以我不知道我是否可以指望这个。)
所以:我可以依赖一个 TForm在第一次显示时总是触发 OnResize 吗?还是在某些情况下(也许如果窗口不可调整大小,也许如果 Position 属性具有某些值等)在窗口首次显示之前OnResize 可能不会触发?