Шаг 9.
Вкладка Standard. Компонент TCheckBox

    На этом шаге мы рассмотрим компонент TCheckBox

    Компонент TCheckBox (Флажок) используется для того, чтобы пользователь мог указать свое решение типа да/нет или да/нет/не уверен (в последнем случае флажок выглядит блеклым). Это решение отражается в свойстве State компонента, доступном как для чтения, так и для записи. В составе диалогового окна может быть несколько компонентов TCheckBox, причем состояние любого из них никак не зависит от состояния остальных.

    Некоторые флажки могут находиться также в частично установленном состоянии, когда признак установки флажка отображается приглушенным цветом. Такая возможность нужна, когда требуется сообщить пользователю о неполном соответствии указанному статусу (например, в ходе установки программ, таким образом, сообщается, что для установки выбраны не все доступные средства).

    Рассмотрим свойства этого компонента.

   
Таблица 1. Свойства компонента TCheckBox
Свойство Описание
type TLeftRight = (taLeftJustify, taRightJustify);
property Alignment: TLeftRight;
Определяет положение текста:
  • taLeftJustify - с левой стороны компонента;
  • taRightJustify - с правой стороны
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;
Содержит состояние компонента:
  • cbUnchecked - нет;
  • cbChecked - да;
  • cbGrayed - не уверен

    Свойство 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




Предыдущий шаг Содержание Следующий шаг