Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создать новый Edit?

4.6K
18 марта 2004 года
JuriS
8 / / 26.11.2003
Возможно ли по ходу программы создать новый Edit на форме?
Спасибо если кто поможет
415
18 марта 2004 года
SLA
274 / / 08.08.2003
Цитата:
Originally posted by JuriS
Возможно ли по ходу программы создать новый Edit на форме?
Спасибо если кто поможет



Конечно можно!

В Unit1.h, в классе TForm1 объявляешь:
[color=blue]TEdit* NewEdit;[/color]

Создается новый Edit так:
[color=blue]NewEdit = new TEdit(Application);
NewEdit->Parent = Form1;
NewEdit->Top = 10;
NewEdit->Left = 10;[/color]

И уничтожается (уничтожать в любом случае обязательно при выходе из программы, иначе - утечка памяти) так:
[color=blue]delete NewEdit;[/color]

Удачи! :)

358
19 марта 2004 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by SLA


Конечно можно!

В Unit1.h, в классе TForm1 объявляешь:
[color=blue]TEdit* NewEdit;[/color]

Создается новый Edit так:
[color=blue]NewEdit = new TEdit(Application);
NewEdit->Parent = Form1;
NewEdit->Top = 10;
NewEdit->Left = 10;[/color]

И уничтожается (уничтожать в любом случае обязательно при выходе из программы, иначе - утечка памяти) так:
[color=blue]delete NewEdit;[/color]

Удачи! :)


А зачем в хидере что-то прописывать, а если число конролов неизвестно на этапе проектировки?То что, на всякий случай тысченку другую вбить?И не стоит Овнером Аппликэйшин делать. Лучше форму на которой размещаешь, тогда в принципе и заботиться об удалении не надо будет. В итоге:
[color=blue]TEdit *NewEdit = new TEdit(this);
NewEdit->Parent = Form1;
NewEdit->Top = 10;
NewEdit->Left = 10;[/color]
Хотя лучше всеже хранить в каком-нить списке динамически создаваемые контролы. И при разрущении формы удалять контролы в ручную.

2.6K
19 марта 2004 года
Hearse
89 / / 19.01.2004
Цитата:
Originally posted by moonmike

А зачем в хидере что-то прописывать, а если число конролов неизвестно на этапе проектировки?



А вы когда-нибудь слышали о сфере видимости???

А если число контролов не известно, то можно тот объявленный указатель сделать указателем на массив указателей типа TEdit и создавать оные контролы динамически.

Вот так вот.

358
19 марта 2004 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Hearse


А вы когда-нибудь слышали о сфере видимости???

А если число контролов не известно, то можно тот объявленный указатель сделать указателем на массив указателей типа TEdit и создавать оные контролы динамически.

Вот так вот.


Смотрим сюда:

Цитата:
Хотя лучше всеже хранить в каком-нить списке динамически создаваемые контролы. И при разрущении формы удалять контролы в ручную.

Под этим я и подразумевал некий массив указателей на динамически создаваемые компоненты.
А траблы со сферой видимости спокойно разруливаются с помощью ControlCount,ComponentCount,Components и иже с ними.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог