Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Открыть новую форму, полностью переписав её [D7, WinXP]


Kuzmi4 ©   (2009-11-28 10:19:00) 

Подскажите, как можно реализовать открытие Form2, но не методом Form2.Show, а чтобы форма как бы по-новому пересоздавалась. Т.е. на первой форме я нажимаю кнопку и открывает Form2 со всеми размещенными на ней компонентами (не пустая, заметьте). Потом я там что-то поделал, нажимаю на ней кнопку закрытия и она уничтожается. Затем с первой формы могу вызвать её опять по-новому. Как это сделать?
Спасибо.


0x00FF00   (2009-11-29 11:03:00) [1]


> а чтобы форма как бы по-новому пересоздавалась

> размещенными на ней компонентами (не пустая, заметьте)

> вызвать её опять по-новому


— сбило с панталыку...
Как обычно, чукча не читатель =)
В следующий раз таки перечитаю прежде чем отвечать.


Германн   (2009-11-29 01:31:00) [2]


>
> > 0x00FF00   (28.11.09 12:27) [2]
>
> Это шутка?
>

Скорее попытка предложить решение задачи Z. :)


Юрий Зотов   (2009-11-29 01:19:00) [3]

> я там что-то поделал, нажимаю на ней кнопку закрытия и она
> уничтожается.


OnClose: Action := caFree

> Затем с первой формы могу вызвать её опять по-новому.
> Как это сделать?


TForm2.Create(...).Show;

> 0x00FF00   (28.11.09 12:27) [2]

Это шутка?


0x00FF00   (2009-11-28 12:27:00) [4]

Скажем, заранее, ещё на этапе конструирования, создать на форме ВСЕ компоненты, которые могут ей понадобиться, и сделать их скрытыми. Потом организовать в Form2 массив из ссылок на эти компоненты. А затем перекрыть обработчик создания формы, так чтобы вызывающий передавал в него набор битовых масок (обычных чисел), где М-тый бит будет означать показ/скрытие того компонента, ссылка на который содержится в М-том элементе массива.


Ухарь   (2009-11-28 12:19:00) [5]

Создание:
Form2:=TForm2.Create(Self);
уничтожение:
Form2.Free;


Наверх

Титульная страница Поиск, карта сайта Написать письмо