Будет ли форма Delphi всегда стрелять, когда она будет показана?
Вопрос
Если я создаю новую форму Delphi, зажмите его событие Oneresize и запустим приложение, он запускается до показа окна. Что я не знаю, так это то, всегда ли это произойдет, для любого окна.
(Для тех, кто знаком с API Windows, я проследил его до вызова ShowWindow в tcustomform.showingchanged (формы. WM_SIZE
... по крайней мере, для нового окна без других свойств. Я не видел, чтобы это задокументировало, что ShowWindow всегда стреляет WM_SIZE
, поэтому я не знаю, могу ли я рассчитывать на это или нет.)
Так: Могу ли я полагаться на TMARD всегда Увольнение Oneresize, когда он впервые показан? Или есть обстоятельства (возможно, если окно не разрешается, возможно, если свойство позиции имеет определенные значения и т. Д.), где может нет Огонь до того, как окно впервые показано?
Решение
Нет, это событие не всегда стреляет, когда видит форма, в зависимости от таких вещей, как Borderstyle. Например, он запускает запуск для BSSINGLE, но не для BSDialog.
Это легко проверить. Просто добавьте немного кода журнала в основное событие OnResize, измените BordersTyle и запустите ваше приложение.