KRVCheckBox.pas
Типы данных
- TKRVCBAType – действие, выполняемое при клике на флаг
- vcbatSetBit – при клике на флажке, изменяем значение бита в переменной VarOut. Номер бита указывается в свойстве ActBit
- vcbatSetValue – при установке флажка, записываем значение из свойства OnActValue в переменную VarOut, в противном случае записываем значение из свойства OffActValue
- TKRVCBSType – метод изменения состояния флажка, относительно значения переменной VarIn
- vcbstByBit – состояние флажка зависит от состояния бита в значении переменной VarIn. Номер бита указывается в свойстве StatBit
- vcbstByValue – флажок устанавливается если значение переменной VarIn равно значению из свойства OnStatValue
Классы
Класс TKRVCheckBox
Родительский класс TCustomCheckBox
Интерфейсы: IKRTimer
TKRVCheckBox – интерактивный элемент мониторинга и управления удаленным устройством
Свойства класса TKRVCheckBox
- Action – метод изменения значения переменной VarOut, в зависимости от состояния флажка TKRVCBAType
- State – метод изменения состояния флажка TKRVCBSType, в зависимости от значения переменной VarIn
- VarIn – переменная, от значения которой зависит состояние флажка
- VarOut – переменная, значение которой будет изменено при изменении состояния флажка
- ActBit – номер бита в переменной VarOut, который будет изменятся при изменении состояния флажка, если свойство Action установлено в vcbatSetBit
- StatBit – номер бита в переменной VarIn, от состояния которого зависит состояние флажка, если свойство State установлено в vcbstByBit
- OnActValue – значение, которое будет установлено в переменную VarOut при изменении состояния флажка в «Включен», если свойство Action установлено в vcbatSetValue
- OffActValue – значение, которое будет установлено в переменную VarOut при изменении состояния флажка в «Выключен», если свойство Action установлено в vcbatSetValue
- OnStatValue – если свойство State установлено в vcbstByValue, то состояние флажка зависит от равности значения переменной VarIn и значения данного свойства
- Timer – таймер класса TKRTimer, который обновляет состояние флажка в зависимости от значения переменной VarIn
Можно сделать так
KRVCheckBox.Checked:=false;
Но, нужно понимать, что KRVCheckBox работает не совсем так как обычный CheckBox. Выше приведенный код не убирает флажок, а изменяет значения параметра указанного в свойстве VarOut, а отображается флажок или нет всегда зависит от параметра из свойства VarIn. То есть если значение VarIn:не изменится должным образом, то флажок не снимется.
Как вариант еще можно изменить значение параметра из свойства VarIn. Например, допустим в вашем компоненте KRVCheckBox заданы такие свойства:
VarIn=mb001_a1; // Состояние флажка зависит от значения параметра mb001_a1
State=vcbstByBit; // Состояние флажка зависит только от конкретного бит значения параметра mb001_a1
StatBit:=1;// Состояние флажка зависит от первого бита значения параметра mb001_a1
При таких условиях для изменения состояния флажка достаточно изменить состояние первого бита значения параметра mb001_a1. То есть следующий код должен снять флажок
mb001_a1.Value:=mb001_a1.Value and $FFFFFFFD;