Вниз
Скачать: CL | DM;

Формы   Найти похожие ветки 

← →
duk_777   (2006-11-04 23:34) [0]

Здравствуйте! У меня к Вам такой вопрос: я создаю динамически форму и компоненты на ней. Как сделать так, чтоб когда ее закрывает пользователь форма не скрывалась, а удалялась и нужно ли перед этим удалять все компоненты, которые я создал на ней. Кстати как можно обрабатывать события этой формы (например закрытие, нажатие кнопки мыши и т. д.).


← →
Ketmar ©   (2006-11-04 23:36) [1]

таки код написать.


← →
Джо ©   (2006-11-04 23:44) [2]

Если создавать контроллы так TSomeComponent.Create(некий_владелец), то их, при своем уничтожении уничтожит их владелец. Если создавать как TSomeComponent.Create(nil), то уничтожать их нужно будет самому, например, в событии формы OnDestroy.
Чтобы форма уничтожалась при закрытии, нужно в ее обработчике OnClose параметр Action устанавливать равным caFree.
Обработчики событий задаются так: SomeFormInstance.OnClick := SomeHandler, где SomeHandler является методом класса объявленный в соответствии с типом обработчика события. В данном случае (для OnClick) — TNotifyEvent, а он, в свою  очередь, объявлен как procedure (Sender: TObject).

Думаю, не помешает книжка по языку.


← →
duk_777   (2006-11-05 00:27) [3]

А если форма создается при помощи Application.CreateForm() ?


← →
Percent   (2006-11-05 00:30) [4]

А если форма создается при помощи Application.CreateForm()?

Тогда владелец формы - Application.


← →
Германн ©   (2006-11-05 01:38) [5]


> duk_777   (05.11.06 00:27) [3]
>
> А если форма создается при помощи Application.CreateForm()
> ?
>

А это собсс-но не имеет никакого отношения к смыслу сабжа [0].
Ты уж лучше поподробней изложи "как ты в этой форме создаёшь компоненты"! И какой параметр передаёшь в Application.CreateForm(FormClass: TFormClass;...)?


← →
Сергей М. ©   (2006-11-05 18:54) [6]


> я создаю динамически форму


> А если форма создается при помощи Application.CreateForm() ?


А это, по-твоему, не "динамически" ? Это тайночудное действо дух святой осуществляет ?)


← →
Leonid Troyanovsky ©   (2006-11-05 19:00) [7]


> Сергей М. ©   (05.11.06 18:54) [6]

> > я создаю динамически форму
> > А если форма создается при помощи Application.CreateForm()

> А это, по-твоему, не "динамически" ? Это тайночудное действо
> дух святой осуществляет ?)


Ты суров,
но, особенности ж есть. Скажем, [4].
Или, что первая, созданная таким образом, станет MainForm.

--
Regards, LVT.


← →
Anatoly Podgoretsky ©   (2006-11-05 20:17) [8]

> Leonid Troyanovsky  (05.11.2006 19:00:07)  [7]

А раньше любая первая созданная форма.


← →
Leonid Troyanovsky ©   (2006-11-05 21:07) [9]


> Anatoly Podgoretsky ©   (05.11.06 20:17) [8]

> А раньше любая первая созданная форма.


Первой может быть TFormX.Create.

--
Regards, LVT.


← →
duk_777   (2006-11-06 18:06) [10]

Я хотел бы примерчик, так как мой основной язык С++, а осбенности оформления в обьектном паскале я не знаю


← →
Leonid Troyanovsky ©   (2006-11-06 18:39) [11]


> duk_777   (06.11.06 18:06) [10]

> Я хотел бы примерчик, так как мой основной язык С++


Особенностей C++ я не знаю.

--
Regards. LVT.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
2-1162938878
Ref
2006-11-08 01:34
2006.11.26
Запрос в ADOQuery


15-1162999270
Sergg
2006-11-08 18:21
2006.11.26
Ввод символа в *.cmd


6-1152140733
Корешь
2006-07-06 03:05
2006.11.26
icmp в indy 10


9-1138783225
Nic
2006-02-01 11:40
2006.11.26
Выбор компилятора Delphi при создании игры


8-1145342391
mike66
2006-04-18 10:39
2006.11.26
bezie




   Наверх