** Николай |
Отправлено: 06.03.2006, 16:32 |
|
Не зарегистрирован
|
Помогите разобраться как удалить динамически созданные объекты, значит так создаю:
TLabel *K = new TLabel(Form12);
K->Parent = Form12;
K->Top=4*i; K->Left=20;
K->Visible=true;
K->Enabled=true;
K->Name = "Label" + IntToStr(i);
K->Font->Color = clWhite;
K->Height = 20;
K->Tag = i;
K->Transparent = true;
А вот как удалить допустим 7-й? или 21-й?? |
|
Doga |
Отправлено: 06.03.2006, 16:53 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
У каждого компонента есть свойство Tag. Можно воспользоваться им:
CODE |
if (K->Tag == 7)
{
;
}
|
А вообще темы про динамические компоненты обсуждались не раз, последняя совсем недавно. Поищите...
Отредактировано Doga — 06/03/2006, 17:37
|
|
Gal |
Отправлено: 06.03.2006, 17:49 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 124
|
Tag — это конечно выход, но чтобы выйти на определенный Label надо просмотреть все.
предлагаю
map
Первый элемент Tag
Второй Name Label.
А вообще варианто много, например через vector — тоже вариант
Все это знания инструмента и вкуса. |
|
Grigoriy |
Отправлено: 06.03.2006, 17:57 |
|
Мастер участка
Группа: Участник
Сообщений: 381
|
Тут яркий пример для динамического создания и удаления объектов.
https://rxlib.ru/forums/index.php?ac...44b3bbfcb367052
|
|
** Николай |
Отправлено: 10.03.2006, 13:13 |
|
Не зарегистрирован
|
На самом деле все очень просто было сделано, когда нажимаем на созданный label, он удаляется:
void __fastcall TForm1::EOnClick(TObject *Sender)
{
LabelW->Caption = Sender->ClassName();
Del = Sender;
delete Del;
index--; //индекс для создания имен label
}
И почему то он перестал работать(такой код), вот думаю по другому чтоли сделать как нибудь. Может кто подскажет возможные ошибки? |
|
Gal |
Отправлено: 10.03.2006, 19:30 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 124
|
QUOTE |
На самом деле все очень просто было сделано, когда нажимаем на созданный label, он удаляется:
|
На самом деле деле создается впечатлени, что тебе по барабану, что тебе люди пишут.
Ты хоть по ссылке сходил, которую тебе Grigoriy выложил?
|
|
** Николай |
Отправлено: 13.03.2006, 13:37 |
|
Не зарегистрирован
|
Мне вовсе не по барабану, я уже все реализовал по примеру написанного Grigoriy(за что отдельное спасибо), просто я написал, что мне и хватит более простой реализации, но я не могу понять почему она перестала работать.... |
|
Gal |
Отправлено: 14.03.2006, 12:22 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 124
|
QUOTE |
мне и хватит более простой реализации, но я не могу понять почему она перестала работать....
|
Я не могу понять, как эта реализация вообще работала
CODE |
void __fastcall TForm1::EOnClick(TObject *Sender)
{
TLabel* LabelPtr = (TLabel*)Sender;
}
|
Это азы, а теперь скажы как определить на како Label указывает LabelPtr.
|
|