Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.17;
Скачать: CL | DM;

Вниз

Открыть новую форму, полностью переписав её   Найти похожие ветки 

 
Kuzmi4   (2009-11-28 10:19) [0]

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


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

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


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

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


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

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


OnClose: Action := caFree

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


TForm2.Create(...).Show;

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

Это шутка?


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


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

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


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


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

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

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


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



Страницы: 1 вся ветка

Текущий архив: 2010.01.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
15-1258178142
Германн
2009-11-14 08:55
2010.01.17
Американцы нашли на Луне воду


15-1257434008
pasha_golub
2009-11-05 18:13
2010.01.17
Транспорт ICQ через Jabber в Миранде


15-1257939335
ZeroDivide
2009-11-11 14:35
2010.01.17
Очереной отжиг от Google


2-1258718046
Сергей
2009-11-20 14:54
2010.01.17
Как взять последнее имя папки?


15-1258234214
Юрий
2009-11-15 00:30
2010.01.17
С днем рождения ! 15 ноября 2009 воскресенье