如果我创建了新的Delphi表单,请挂接其变形事件,然后运行该应用程序,在显示窗口之前会触发onResize。我不知道的是,对于任何窗口,这是否总是会发生。

(对于任何熟悉Windows API的人,我都将其追溯到tcustomform中的ShowWindow呼叫。ShowingChanged(forms.parss.pas Line 5503在Delphi 2007中),这显然触发了A WM_SIZE...至少对于没有其他属性设置的新窗口。我还没有看到它记录在秀窗总是开火 WM_SIZE, ,所以我不知道我是否可以指望这个。)

所以: 我可以依靠tform吗 总是 首次显示时射击? 或者是否存在情况(也许如果窗口是不可避免的,也许如果位置属性具有一定的值等) 不是 首先显示窗户之前的火?

有帮助吗?

解决方案

不,根据BorderStyle之类的内容,此事件并不总是开火。例如,它会在BSSingle的启动启动时开火,但不会为BSDialog发射。

这很容易测试。只需将一些记录代码添加到主表单的OnResize事件中,更改BorderStyle并运行您的应用程序即可。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top