| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Изменение Position & BorderStyle у формы |
| Автор: Mal Hack 13.11.2004, 22:46 |
| Вопрос такой... Есть форма. Объекты на ней создаются кодом в OnActivate.. Надо кодом изменить Position & BorderStyle формы, до показа оной... Тобишь чтобы форма уже показалась с учетом этих параметров. Как только я пытаюсь засушуть их в OnShow, OnActivate выскакивает ошибка о невозможности изменения визуальных свойств. (Cannot change Visible on OnShow o OnHide)... Почему она появляется мне в принципе понятно. Вопрос в том, куда впихнуть код, чтобы этого - не было (без использования OnCreate и DFM). Заранее спасибо. |
| Автор: Alex 13.11.2004, 23:13 |
| А почему в OnCreate не можешь засунуть? |
| Автор: Mal Hack 13.11.2004, 23:24 | ||
| Фишка преподавателя в OnCreate ничего не совать... Аргумент (мой)... OnCreate вызывается при Application.Run, а например форма-заставка показывется раньше... Вот код проекта:
Поэтому использование OnCreate в частности для PromptForm- невозможно ИМХО. По крайней мере в OnCreate динамически созданный объект не показывался на форме (Prompt). |
| Автор: Alex 13.11.2004, 23:33 |
| Application.Run; Метод предназначен для внутреннего использования и позволяет начать выполнение приложения. Этот метод вместе с методом инициализации (Initialize) и методом создания главной формы (CreateForm) автоматически записывается в основном блоке программы при создании ее заготовки. Тo, что ты говоришь не правда и OnCreate в частности, для PromptForm вызовется раньше, чем форма покажется. Но если ты не хочешь все-таки писать в OnCreate, то кто мешает тебе сделать настройку между строкой "PromptForm := TPromptForm.Create(Application);" и "PromptForm.Show;" |
| Автор: Mal Hack 13.11.2004, 23:45 | ||
Спасибо. Именно та и сделал (+1). Честно, просто даже не предполагал, что в проектном файле можно так с формами оперировать... Огромное спасибо. |