18.2.10. TcheckListBox - группа независимых переключателей

Подобно тому как TRadioGroup группирует зависимые переключатели, TcheckListBox группирует независимые переключатели, позволяя обратиться к любому из них по индексу.

Чтобы вставить в компонент группу независимых переключателей, следует раскрыть редактор его свойства items и ввести одну или несколько текстовых строк - каждая строка будет соответствовать поясняющей надписи справа от переключателя.

Свойства компонента:

property AllowGrayed: Boolean; | Разрешает/запрещает использовать в переключателях третье состояние cbGrayed
property BorderStyle: TBorderStyle; | Определяет тип рамки, очерчивающей компонет: bsNone - нет рамки; bsSingie - рамка толщиной в 1 пиксель
property Canvas: TCanvas; | Это свойство используется для программной прорисовки опций
property Checked[Index: Integer]: Boolean; | Содержит выбор пользователя типа Да/Нет для переключателя с индексом index. Состояния cbUnchecked И cbGrayed отражаются как False
property Columns: Integers; | Определяет количество колонок опций
property Flat: Boolean; | Разрешает/запрещает трехмерную прорисовку окошек выбора
property Header[Index: Integer] : Boolean; | Запрещает прорисовку окошка выбора для опции с индексом index. Таким образом вставляются заголовки отдельных секций

property HeaderBackgroundColor: TColor; | Цвет фона для заголовка (см. свойство Header)
property HeaderColor:TColor; | Цвет текста для заголовка (см. свойство Header)
property IntegralHeight: Boolean; | Если имеет значение True, компонент автоматически изменяет высоту так, чтобы в нем полностью отображались опции, в противном случае последняя опция может не полностью отображаться в окне компонента
property ItemEnabled[Index: Integer]: Boolean; | Разрешает/запрещает выбор опции с индексом Index
property ItemHeight: Integer; | Если свойство Style компонента имеет значение IsOwnerDrawFixed, значение ItemHeight Определяет высоту каждой опции компонента. При других значениях Style это свойство игнорируется
property Itemlndex: Integer; | Содержит индекс выбранной опции (индексация опций начинается с нуля)
property Items: TStrings; | Содержит опции компонента
property MultiSelect: Boolean; | Если содержит True, пользователь может выбирать несколько опций
property SelCount: Integer; | Содержит количество выбранных опций компонента, если свойство MultiSelect содержит True
property Selected[Index: Integer]: Boolean; | Содержит True, если опция с индексом index выбрана
property Sorted: Boolean; | Сортирует по алфавиту надписи на переключателях
property State[Index: Integer] : TCheckBoxState; | Содержит состояние переключателя с индексом Index: cbUnchecked - нет; cbChecked ~ да; cbGrayed - не совсем
type TListBoxStyle = (IbStandard, IbOwnerDraw- Fixed, IbOwnerDrawVariable); | Определяет способ прорисовки опций компонента: IbStandard - опции прорисовывает Windows; ibOwnerDrawFixed - компонент использует программный метод прорисовки опций, каждый из
property Style: TListBox Style; | которых имеет одинаковую высоту ItemHeight; IbOwnerDrawVariable - опции прорисовываются программно и могут иметь разную высоту
property TabWidth: Integer; | Определят ширину табулостопов
property Toplndex: Integer; | Содержит индекс самой первой отображаемой опции

Для компонента определено событие

property OnClickCheck: TNotifyEvent;

которое наступает при изменении состояния любого переключателя.