Главная страница
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.012 c
2-1258523471
Tornado
2009-11-18 08:51
2010.01.17
Обработать ошибку пинга


6-1211624068
Funtic12
2008-05-24 14:14
2010.01.17
Socket Broadcast - максимальный размер дейтаграммы


15-1257929503
Игорь Шевченко
2009-11-11 11:51
2010.01.17
За лампочки будут наказывать. Больно


2-1258622328
Игорь
2009-11-19 12:18
2010.01.17
Альтернатива OpenProcess


2-1259073148
guest2009
2009-11-24 17:32
2010.01.17
ComboBox обрезка длинного текста