|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.08.2015, 22:04 | #1 |
Форумчанин
Регистрация: 19.04.2009
Сообщений: 368
|
Переборка элементов
Всем привет. Вопрос такой, возможно ли программно изменять имя объекта ? Поясню о чем я:
У меня есть множество элементов одного и того же класса, на пример TButton. И идея собственно в том, чтобы скомпоновать обработку элементов, а именно не в ручную перебирать все кнопки button1, button2, button3 ... button159 Код:
Код:
|
17.08.2015, 22:16 | #2 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Вам надо не изменять имя объекта, а проверять - не кнопка ли он ? Если кнопка, то делать ему Enable = false
У формы Form есть свойство Controls - массив всех контроллов, в том числе и кнопок. Мне кажется, с ним надо работать. PS кстати, проверять по имени - не очень хорошо. Ведь при дизайне формы имя кнопки можно же изменить, в принципе оно не обязательно Button99, оно может быть и Vasja. Последний раз редактировалось type_Oleg; 17.08.2015 в 22:20. |
17.08.2015, 22:37 | #3 |
Форумчанин
Регистрация: 13.08.2011
Сообщений: 184
|
std::vector<TButton*> buttons; //(указатели)
buttons.push_back(button1); buttons.push_back(button2); //... buttons.push_back(buttonN); //... for(size_t i=0; i<buttons.size(); ++i) { buttons[i]->Enabled= false; } Как альтернатива std::vector<> - TList и TObjectList Последний раз редактировалось BDA; 17.08.2015 в 23:57. |
18.08.2015, 02:15 | #4 | ||
Форумчанин
Регистрация: 19.04.2009
Сообщений: 368
|
Цитата:
Собственно класс с кнопками Код:
Код:
Цитата:
|
||
18.08.2015, 06:30 | #5 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
А зачем Вам эта головная боль с циклами? Если все кнопки становятся недоступными (доступными) одновременно, размещаем их все на одной панели и делаем недоступной саму панель. Все дочерние компоненты на ней, будут недоступны. Даже если кнопки сгрупированы в разных местах по 10-20 штук, панелей будет много меньше чем самих кнопок.
Есть ещё компонент GroupButton. В нём можно задавать количество кнопок и работать с ними, как с массивом или самому компоненту присваивать значение GroupButton->Enabled = false;
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 18.08.2015 в 06:36. |
18.08.2015, 19:46 | #6 | |
Форумчанин
Регистрация: 19.04.2009
Сообщений: 368
|
Цитата:
Я для простоты объяснения написал, что использую TButton, на деле самописные элементы, которые по своей задаче напоминают TButton ... |
|
01.09.2015, 12:26 | #7 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
Код:
Где: Код:
Код:
Знающий не говорит, говорящий не знает (С) Лао Цзы
Последний раз редактировалось Krok27; 01.09.2015 в 12:31. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти среднее арифметическое целых частей элементов числового массива из 30 элементов | noobcplusplus | Общие вопросы C/C++ | 3 | 02.02.2015 18:30 |
Дан массив из 25 элементов. Найти сумму элементов, больших последнего элемента. | Olzhakesh | C# (си шарп) | 6 | 10.05.2014 17:15 |
В массиве из п элементов много совпадающих элементов. Найти количество различных элементов | Strax | Фриланс | 11 | 12.06.2010 20:13 |
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива | HazelHen | Общие вопросы C/C++ | 2 | 29.03.2009 15:16 |
Дан массив из N элементов (чисел),определить количество элементов кратных 3. | Woha | Общие вопросы C/C++ | 2 | 08.12.2008 13:12 |