如果我创建一个新的Delphi窗体,挂钩它的OnResize事件,并运行应用程序,OnResize会在窗口显示之前触发。我不知道这是否会在任何窗口发生。 (对于熟悉Windows API的任何人,我已将它追踪到TCustomForm.ShowingChanged(Delphi 2007中的Forms.pas行5503)中的ShowWindow调用,这明显触发了WM_SIZE
...至少,对于没有其他属性设置的新窗口我没有看到它记录的ShowWindow总是激发WM_SIZE
,所以我不知道我是否可以指望这个与否。)当一个Delphi窗体显示时,会不会启动OnResize?
所以:我可以依靠一个TForm 总是第一次显示时触发OnResize?或者是否有情况(如果窗口不可调整大小,或许如果Position属性具有某些值等),OnResize可能会在窗口第一次显示之前触发而不是?
我想我必须测试每种可能的属性组合 - 我老实说,没想到它很容易找到非OnResize的情况。但很高兴知道答案。谢谢! – 2009-08-06 18:46:30