Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Все очень просто

Отправлено ARV 02 августа 2008 г. 21:11
В ответ на: Так и не доперло пока как сделать чекбокс аналогично radiobutton отправлено удка 02 августа 2008 г. 20:26

у каждого чекбокса на событие OnClick вешается один и тот же обработчик, который перебирает все чекбоксы из имеющихся на форме (или панели), сбрасывая Флажок во всех, кроме себя. У формы (или панели, или GroupBox) есть свойство - Controls, которе представляет коллекцию принадлежащих ему компонентов. Надо перебрать все эти компоненты, проверить тип каждого на совпадение с типом TCheckBox, и, если совпал тип - тогда уже проверять совпадение с самим собой и отрабатывать сброс флажка... Только надо ввести доп.переменную-флаг того, что идет обработка "нажатия", иначе будет происходить рекурсивный вызов обработчика и стек переполнится...

вот пример на Delphi:

procedure TForm1.CheckBox1Click(Sender: TObject);
var
i : integer;
begin
// Recurse - глобальная переменная для исключения зацикливания
if Recurse then exit;
Recurse := true;
for i := 0 to ControlCount-1 do // перебираем все КОМПОНЕНТЫ формы
if Controls[i] is TCheckBox // если очередной компонент - ЧЕКБОКС
then if Controls[i] = Sender // если это тот самый, что НАЖАЛИ
then (Controls[i] as TCheckBox).Checked := true
else (Controls[i] as TCheckBox).Checked := false;
Recurse := false;
end;






Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите двойку на единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru