Четвертый BORLAND С++ и его окружение

       

Кнопки с зависимой и независимой фиксацией


Кнопка с независимой фиксацией (check box) обычно предоставляет пользователю возможность выбора из двух состояний. Пользователь может выбрать этот управляющий элемент, отменить его выбор

или оставить его как есть. В группе кнопок с независимой фиксацией вы можете выбрать любой из этих управляющих элементов или все

эти элементы.

Кнопки с зависимой фиксацией (radio button) используются для

выбора одной из взаимоисключающих возможностей.

Класс TCheckBox является производным от TButton и представляет кнопки с независимой фиксацией, а класс TRadioButton, представляющий кнопки с зависимой фиксацией, является производным от

TCheckBox (кнопки с независимой фиксацией и зависимой фиксацией

частично имеют общее поведение).

Кнопки с зависимой и независимой фиксацией называют иногда

блоками выбора. Такой управляющий элемент выводится на экран в

виде выбранного или невыбранного блока. Примеры этих управляющих

элементов вы можете найти в подкаталоге EXAMPLES\OWL\OWL\OWLAPI\BUTTON.

TCheckBox и TRadioButton имеют конструктор с 7 стандартными

параметрами конструктора объекта управляющего элемента (родительское окно, идентификатор ресурса, размеры и положение управляющего элемента, необязательный идентификатор библиотеки), плюс указатель на текстовую строку и указатель на групповой блок, объединяющий блоки выбора (или 0, если такого группового блока нет).

Кнопки с независимой фиксацией по умолчанию имеют стиль

BS_AUTOCHECHBOX. Это значит, что Windows обрабатывает щелчок



"мышью" на этой кнопке, переключая ее состояния. При отсутствии

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

Кнопки с зависимой фиксацией по умолчанию имеют стиль BS_AUTORADIOBUTTON. Это значит, что Windows обрабатывает щелчок "мышью" на

этой кнопке, переключая ее состояния, отменяя выбор всех других

кнопок в группе. При отсутствии такого стиля нужно перехватывать

уведомляющие сообщение и устанавливать состояние кнопки вручную.

В некоторых случаях управлять состоянием кнопки может не

пользователь, а приложение. TCheckBox определяет несколько функций-элементов для модификации состояния кнопки с независимой фиксацией: Check, SetCheck, Uncheck, Toggle, SetState и SetStyle,

которые отменяю и устанавливают выбор кнопки, переключают ее,

подсвечивают и изменяют стиль кнопки. При использовании этих

функций для кнопки с независимой фиксацией ObjectWindows обеспечивает выбор в группе только одной кнопки.

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

(BF_CHECKED) и не выбрана (BF_UNCHECKED). Блоки с независимой

фиксацией имеют необязательное третье состояние (BF_GRAYED). Для

опроса состояния используются функции GetCheck и GetState.



Содержание раздела