Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
ВнизФормы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.051 c