Проблема с созданием визуальных компонентов
Его же надо как то запихнуть в 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!";
}
Цитата:
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!";
}
Как сделать так что бы после того как я создал компонент, например 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).
Заранее предупреждаю, что наверняка есть и другой способ, и, возможно, более простой.