реклама на сайте
подробности

 
 
> Обработчик для множества компонентов CheckBox
Buratino
сообщение Sep 26 2013, 08:44
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 24-11-11
Из: Город-герой Минск
Пользователь №: 68 491



Пишу VCL Forms Application на С++ Builder XE4. На форме имеется большое количество CheckBox'ов. Есть ли способы их опроса , позволяющих избежать обращение к каждому из них по отдельности (как в примере)?

Код
    
if (CheckBox1->Checked == true)
    {
    signal1 = 1;
    Label1->Font->Color = clLime;
    }
    else
    {
    signal1 = 0;
    Label1->Font->Color = clBtnFace;
    }

    if (CheckBox2->Checked == true)
    {
    signal2 = 2;
    Label2->Font->Color = clLime;
    }
    else
    {
    signal2 = 0;
    Label2->Font->Color = clBtnFace;
    }

и т.д. .......


Сообщение отредактировал Buratino - Sep 26 2013, 08:47
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ARV
сообщение Sep 27 2013, 04:33
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



а я вообще поступаю иначе - все компоненты формы ведь лежат в массиве Components, так что остается лишь перебрать все компоненты в цикле с проверкой их типа и для нужных изменить свойство. как-то так вот:
Код
with Form1 do
   for i:=0 to ComponentCount-1 do
      if Components[i] is TCheckBox
         then TCheckBox(Componens[i]).Checked := true;


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Sep 29 2013, 02:28
Сообщение #3


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(ARV @ Sep 26 2013, 23:33) *
а я вообще поступаю иначе - все компоненты формы ведь лежат в массиве Components, так что остается лишь перебрать все компоненты в цикле с проверкой их типа и для нужных изменить свойство. как-то так вот:


Если есть разные по функции чекбоксы, можно им еще таги приписывать.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 22:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016