Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

CheckBox и свойство checked

270
30 октября 2004 года
Drew
265 / / 20.07.2000
Люди добрые! Объясните пожалуйста проблему: КАКОГО ... (нехорошего) программное изменение свойства CHECKED в CheckBox вызывает событие OnClick?
270
30 октября 2004 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by Drew
Люди добрые! Объясните пожалуйста проблему: КАКОГО ... (нехорошего) программное изменение свойства CHECKED в CheckBox вызывает событие OnClick?



САМООТВЕТ: гыгыгы и троекратное хрюканье

.... а вот ежели поместить CheckBox в GroupBox, то событие OnClick при программном изменении Checked НЕ ВОЗНИКАЕТ!!!

270
30 октября 2004 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by Drew


САМООТВЕТ: гыгыгы и троекратное хрюканье

.... а вот ежели поместить CheckBox в GroupBox, то событие OnClick при программном изменении Checked НЕ ВОЗНИКАЕТ!!!



нифига! всё равно возникает :(

270
30 октября 2004 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by Drew


нифига! всё равно возникает :(



И в связи с этим ГЛАВНЫЙ ВОПРОС: как сделать так, чтобы событие OnClick возникало ИСКЛЮЧИТЕЛЬНО ПРИ РЕАКЦИИ ПОЛЗАТЕЛЯ (то есть когда он кликает мышью, тибо нажимает пробел)

310
30 октября 2004 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by Drew
И в связи с этим ГЛАВНЫЙ ВОПРОС: как сделать так, чтобы событие OnClick возникало ИСКЛЮЧИТЕЛЬНО ПРИ РЕАКЦИИ ПОЛЗАТЕЛЯ (то есть когда он кликает мышью, тибо нажимает пробел)



Да и пусть возникает. При установке "чекед" программным способом установи ещё и флаг "не реагировать", а при обработке "онклик" сними этот флаг и ничего не делай. Если же юзер щёлкнет - флаг "не реагировать" не установлен - "онклик" отрабатывает по полной программе.

310
30 октября 2004 года
fellow
853 / / 17.03.2003
В качестве флага можно использовать свойство Tag. Всё равно оно зачастую не используется.
270
30 октября 2004 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by fellow


Да и пусть возникает. При установке "чекед" программным способом установи ещё и флаг "не реагировать", а при обработке "онклик" сними этот флаг и ничего не делай. Если же юзер щёлкнет - флаг "не реагировать" не установлен - "онклик" отрабатывает по полной программе.



я думал, есть что-то цивилизованное :D :(

310
30 октября 2004 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by Drew
я думал, есть что-то цивилизованное :D :(



- Папа, правда, что VCL цивилизованная?
- Нет, сынок, это фантастика!

:D :D :D

270
30 октября 2004 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by fellow


- Папа, правда, что VCL цивилизованная?
- Нет, сынок, это фантастика!

:D :D :D



гыгыгы! ... а между тем предложенный тобой способ неожиданно привнёс положительные удобства в мой код.... Спасибо за идею!

310
30 октября 2004 года
fellow
853 / / 17.03.2003
Всегда пожалуйста! :)
15K
08 декабря 2005 года
Лехваленций
2 / / 08.12.2005
//усатновить чек
Perform(BM_SETCHECK, 1, 0);

//снять чек
Perform(BM_SETCHECK, 0, 0);
585
08 декабря 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by Лехваленций
//усатновить чек
Perform(BM_SETCHECK, 1, 0);

//снять чек
Perform(BM_SETCHECK, 0, 0);


Что вот это, что клик пользователя система интерпретирует аналогично

15K
13 декабря 2005 года
Лехваленций
2 / / 08.12.2005
"Perform" Меняет checkbox только визуально, само булевое значение не меняет, впрочем толку никакого.:{
4.8K
14 декабря 2005 года
Jump
128 / / 09.11.2005
Цитата:
Originally posted by Drew
я думал, есть что-то цивилизованное :D :(



Профессионаааалы :D

Когда меняешь програмно, и хочешь игнорить вызов OnClick, пишем

 
Код:
CheckBox1->OnClick = NULL;
    CheckBox1->Checked = !CheckBox1->Checked;
    CheckBox1->OnClick = CheckBox1Click;


И не надо гнать на VCL!!! Он хороший... иногда :D
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог