Как изменить состояние TCheckBox не
вызывая собятия OnClick.
Компилятор: C++ Builder
Когда Вы изменяете состояние TCheckBox путём
установки его свойства Checked, то срабатывает
событие OnClick. Например:
CheckBox1->Checked = true;
то запустится обработчик CheckBox1Click.
Однако появление события OnClick не всегда
желательно. Добиться этого можно путём отправки
в CheckBox сообщения BM_SETCHECK. Параметр WParam этого
сообщения может быть равен 1 (галочка установлена),
или 0 (галочка снята). Параметр LParam всегда равен 0.
Следующая процедура имеет на входе два
параметра: TCheckBox1 и CheckIt. Когда CheckIt равно true, то
галка будет установлена, а false означает снятие
галки:
void CheckNoClick(TCheckBox *CheckBox1, bool CheckIt)
{
CheckBox1->Perform(BM_SETCHECK, CheckIt, 0);
}
А вот так эта функция используется:
CheckNoClick(CheckBox1, true);
|