Создание и удаление панелей
От: Аноним  
Дата: 14.10.02 07:51
Оценка:
Создаю панель: MyPanel = new TPanel((TObject*)0);
Сделал так, чтобы после создания каждая панель переименовывалась по порядку ,т.е. MyPanel1, MyPanel2 и т.д.
Как мне удалить произвольную панель, ведь delete удаляеь только то, что я описывал (TPanel *MyPanel? Что делать если я создал 10 панелей и хочу удалить, например, вторую???
Re: Создание и удаление панелей
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 14.10.02 11:34
Оценка:
Здравствуйте Аноним, Вы писали:

А>Создаю панель: MyPanel = new TPanel((TObject*)0);

А>Сделал так, чтобы после создания каждая панель переименовывалась по порядку ,т.е. MyPanel1, MyPanel2 и т.д.
А>Как мне удалить произвольную панель, ведь delete удаляеь только то, что я описывал (TPanel *MyPanel? Что делать если я создал 10 панелей и хочу удалить, например, вторую???

Ну так заведите массив с указателями на созданные панели и удаляйте на здоровье вторую панель:


// псевдокод

// создаем список указателей на панели
TList* pPanels = new TList;

// добавляем два штук
pPanels->Add(new TPanel(NULL));
pPanels->Add(new TPanel(NULL));

// берем указатель на вторую
TPanel* pPanel = (TPanel*) pPanels->Items(1);

// удаляем вторую панель
delete pPanel;

// удаляем хранимую инфу из списка
pPanels->Delete(1);

delete TList;
Re: От модератора
От: Хитрик Денис Россия RSDN
Дата: 14.10.02 16:45
Оценка:
Перенесено в Дельфи/Билдер из Прочего.
Правила нашего с вами форума.
Как правильно задавать вопросы. © 2001 by Eric S. Raymond; перевод: © 2002 Валерий Кравчук.
Re[2]: Создание и удаление панелей
От: Аноним  
Дата: 15.10.02 10:06
Оценка:
не работает... :(
Re: Создание и удаление панелей
От: ToShA_2K Россия  
Дата: 15.10.02 10:09
Оценка:
Здравствуйте Аноним, Вы писали:

А>Создаю панель: MyPanel = new TPanel((TObject*)0);

А>Сделал так, чтобы после создания каждая панель переименовывалась по порядку ,т.е. MyPanel1, MyPanel2 и т.д.
А>Как мне удалить произвольную панель, ведь delete удаляеь только то, что я описывал (TPanel *MyPanel? Что делать если я создал 10 панелей и хочу удалить, например, вторую???

А если ты их где-нибудь разместил, то можно сделать FindChildControl.
Re[3]: Создание и удаление панелей
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 15.10.02 12:18
Оценка:
Здравствуйте Аноним, Вы писали:

А>не работает...


А>


Я ж говорил — псевдокод... Идею, надеюсь, донес? Или, может, вам компонент нужен бесплатный?
Re[4]: Создание и удаление панелей
От: Аноним  
Дата: 15.10.02 17:08
Оценка:
нужен... :)
или хотя бы это объясните поподробнее
Re: Создание и удаление панелей
От: Zex  
Дата: 22.10.02 11:41
Оценка:
Здравствуйте Аноним, Вы писали:

А>Создаю панель: MyPanel = new TPanel((TObject*)0);

А>Сделал так, чтобы после создания каждая панель переименовывалась по порядку ,т.е. MyPanel1, MyPanel2 и т.д.
А>Как мне удалить произвольную панель, ведь delete удаляеь только то, что я описывал (TPanel *MyPanel? Что делать если я создал 10 панелей и хочу удалить, например, вторую???


(Findcomponentbyname('MyPanel'+inttostr(Номер_Панели)) as TPanel).Free
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.