C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Удалять объекты, Динмически созданные
** Николай
Отправлено: 06.02.2006, 15:00


Не зарегистрирован







Ребят подскажите какое нибудь решение, а то что то я запутался.
Вообщем задачка такая:
1. по щелчку мыши на Форме создаются надписи типа TLabel;
2. Одновременно вылетакт форма в которой пишем что будет за надпись.
3. При нажатии ОК надпись динамически создается
4. Необходимо при нажатии на надпись ее удалять.
Так вот основной вопрос как мне удалить компонент имя котрого заданно динамически. Полагаю что решение кроется в указателе *Sender. Помогите разобраться.
Пробовал сделать так, но выдает ошибку:


Создание надписи:
void __fastcall TForm8::BitBtn1Click(TObject *Sender)
{
TLabel *E = new TLabel(Form1->Ciclogramm);
E->Parent = Form1->Ciclogramm;
E->Top=Form1->Y1 — 7; E->Left=Form1->X1;
E->Visible=true;
E->Enabled=true;
E->Caption = Form8->Edit1->Text;
E->Name = "Label" + IntToStr(Form1->index);
E->Font->Color = clWhite;
E->Height = 20;
E->Transparent = true;
E->OnClick = Form1->EOnClick;
Form8->Visible = false;
}


Попsnrf удалять:

void __fastcall TForm1::EOnClick(TObject *Sender)
{
if(SpeedButton6->Down == true)
{Del = Sender;
delete Sender;};
}

Буду раз любой помощи...
** Николай
Отправлено: 06.02.2006, 15:13


Не зарегистрирован







Сам написал и сам заметил опечатку:)
Всем спасибо все работает:))
конечно же в конце
Delete Del;
Можно наверно стереть тему....

Вернуться в Вопросы программирования в C++Builder