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

Ваш аккаунт

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

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

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

Проблема с созданием визуальных компонентов

2.2K
09 августа 2003 года
Storm
20 / / 17.07.2003
Как сделать так что бы после того как я создал компонент, например MyEdit, его можно было вызвать из другой подпрограммы??? или формы??
Его же надо как то запихнуть в Unit1.h в public!!??

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit *MyEdit = new TEdit(Form1);
MyEdit = Edit1;//Edit1 - уже созданный компонент(основной)
MyEdit->Visible = true;
MyEdit->Enabled = true;
MyEdit->Left = 300;
MyEdit->Top = 400;
MyEdit->Width = 150;
MyEdit->Height = 40;
MyEdit->Name = "MyEdit1";
MyEdit->Text = "MyEdit is!";
}
310
09 августа 2003 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by Storm
Как сделать так что бы после того как я создал компонент, например MyEdit, его можно было вызвать из другой подпрограммы??? или формы??
Его же надо как то запихнуть в Unit1.h в public!!??

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit *MyEdit = new TEdit(Form1);
MyEdit = Edit1;//Edit1 - уже созданный компонент(основной)
MyEdit->Visible = true;
MyEdit->Enabled = true;
MyEdit->Left = 300;
MyEdit->Top = 400;
MyEdit->Width = 150;
MyEdit->Height = 40;
MyEdit->Name = "MyEdit1";
MyEdit->Text = "MyEdit is!";
}


На мой взгляд, камлание какое-то. Для чего Вы переименовываете элемент, созданный на форме в процессе её проектирования?
Если есть потребность динамически создавать элементы управления по ходу программы, а в коде использовать эти элементы так, как если бы они уже были созданы, то можно применить такой метод: в разделе public объявляете map<AnsiString, TEdit*> MyEdits и в других местах программы пишите что-нибудь наподобие TEdit* pedit = MyEdits["MyEdit1"] и затем работаете с этим pedit'ом, если конечно он не равен NULL. Создаваемые по ходу работы Edit'ы помещаете в MyEdits под своими именами: MyEdits["MyEdit1"] = new TEdit(this).
Заранее предупреждаю, что наверняка есть и другой способ, и, возможно, более простой.

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