На этом шаге мы рассмотрим компонент TCheckBox
Компонент TCheckBox (Флажок) используется для того, чтобы пользователь мог указать свое решение типа да/нет или да/нет/не уверен (в последнем случае флажок выглядит блеклым). Это решение отражается в свойстве State компонента, доступном как для чтения, так и для записи. В составе диалогового окна может быть несколько компонентов TCheckBox, причем состояние любого из них никак не зависит от состояния остальных.
Некоторые флажки могут находиться также в частично установленном состоянии, когда признак установки флажка отображается приглушенным цветом. Такая возможность нужна, когда требуется сообщить пользователю о неполном соответствии указанному статусу (например, в ходе установки программ, таким образом, сообщается, что для установки выбраны не все доступные средства).
Рассмотрим свойства этого компонента.
Свойство | Описание |
---|---|
type TLeftRight = (taLeftJustify, taRightJustify); property Alignment: TLeftRight; |
Определяет положение текста:
|
property AllowGrayed: Boolean; | Если для свойства задано значение True, то флажок при последовательных щелчках на нем будет поочередно принимать состояния: сброшен, установлен частично, установлен. Состояние определяется значением свойства State, которое можно изменять как во время проектирования с помощью инспектора объектов, так и в программе. Это значения cbUnchecked, cbGrayed и cbChecked соответственно. Чтобы реагировать на изменение состояния флажка, надо создать обработчик события OnClick |
property Caption: String; | Содержит связанный с компонентом текст |
property Checked: Boolean; | Это свойство принимает значение True, если флажок установлен, и False, если он сброшен. Это главное свойство флажка |
type TCheckBoxState = (cbUnchecked, cbChecked, cbGrayed); property State: TCheckBoxState; |
Содержит состояние компонента:
|
Свойство Color компонента фактически игнорируется, а свойства Height и Width определяют размеры прямоугольника, в котором выводится связанный с флажком текст, и никак не влияют на размеры самого флажка. Текст указывается в свойстве Caption.
Рассмотрим пример, когда при изменении состояния флажка его текущее состояние выводится в надпись Label1. Для этого надо разместить в форме соответствующий компонент, установить значение свойства AllowGrayed равным True, сформировать обработчик события OnClick и записать в нем оператор выбора текущего состояния флажка.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; CheckBox1: TCheckBox; procedure CheckBox1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.CheckBox1Click(Sender: TObject); begin case CheckBox1.State of cbUnchecked: Label1.Caption:='Сброшен'; cbChecked: Label1.Caption:='Установлен'; cbGrayed: Label1.Caption:='Установлен частично'; end; end; procedure TForm1.FormCreate(Sender: TObject); begin CheckBox1.State:= cbGrayed; end; end.
Вот, что вы должны получить:
Рис.1. Просмотр состояний флажка
На следующем шаге мы рассмотрим компонент TRadioButton