Если я создаю новую форму Delphi, перехватываю ее событие OnResize и запускаю приложение, OnResize запускается перед отображением окна. Чего я не знаю, так это всегда будет происходить для любого окна.
(Для тех, кто знаком с Windows API, я проследил его до вызова ShowWindow в TCustomForm.ShowingChanged (строка Forms.pas 5503 в Delphi 2007), который, по-видимому, вызывает WM_SIZE
... по крайней мере, для новое окно без других установленных свойств. Я не видел документированного, что ShowWindow всегда запускает WM_SIZE
, поэтому я не знаю, могу ли я рассчитывать на это или нет.)
Итак: Могу ли я полагаться на TForm всегда при запуске OnResize при первом его отображении? Или есть обстоятельства (возможно, если окно не изменяемого размера, возможно, если свойство Position) имеет определенные значения и т. д.) где OnResize может не срабатывать до первого показа окна?