Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.26;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.047 c
15-1162936910
PHPDeveloper
2006-11-08 01:01
2006.11.26
Rentacoder


15-1162589783
Ekzot
2006-11-04 00:36
2006.11.26
TWebBrowser


2-1162892805
john81
2006-11-07 12:46
2006.11.26
Как работать с ADO?


3-1158678700
*Ray*
2006-09-19 19:11
2006.11.26
авторизация пользователей


15-1162664362
ArtemESC
2006-11-04 21:19
2006.11.26
Модуляция