- •1.Компоненты Button и BitBtn
- •2.Компоненты Edit, label.
- •3. Компоненты ComboBox, ListBox.
- •4. Компоненты CheckBox, RadioButton.
- •5.Компоненты StringGrid, DrawGrid.
- •Как узнать координаты ячейки при щелчке мышкой
- •Графические возможности компонента StringGrid
- •Совместная работа StringGrid и Excel
- •6.Компоненты ScrollBar, TrackBar.
- •7.Компоненты Form, Panel.
- •8.Компоненты Shape, Image
- •9.Компоненты MainMenu, PopupMenu
- •10.Компоненты TabControl, PageControl
- •11.Компоненты FontDialog, ColorDialog
- •12.Функции InputBox, ShowMessage, MessageDlg
4. Компоненты CheckBox, RadioButton.
CheckBox это флажок - независимый переключатель. Флажок Delphi CheckBox используется в программе для визуализации состояний включено-выключено. Каждый щелчок мышкой по компоненту Delphi CheckBox меняет его состояние на противоположное. Смена состояния переключателя также доступна и в программе. Delphi CheckBox представляет собой сочетание небольшого окошка, которое и визуализирует наличием или отсутствием "галочки" состояние компонента, и компонента Label - заголовка, поясняющего назначение переключателя.
|
Основное свойство компонента CheckBox - Checked типа Boolean. То есть, на приведённом рисунке CheckBox1.Checked = False; CheckBox2.Checked = True; Свойство Checked доступно как для считывания, так и для записи, то есть, добиться такого как на рисунке вида компонентов Delphi CheckBox можно так: CheckBox1.Checked := False; CheckBox2.Checked := True; |
Главным образом, компонент Delphi CheckBox применяется в условных операторах, и помогает сформировать условия выбора того или иного действия в программе. Компонент Delphi CheckBox - независимый переключатель, то есть в группе из нескольких компонентов каждый из них может быть установлен в произвольное состояние, независимое от состояния остальных компонентов группы (в отличие от компонента Radiobutton). Помимо свойства Checked, позволяющего управлять состоянием компонента, у Delphi CheckBox есть свойство State (состояние), которое может иметь уже три значения. Первые два значения cbChecked ("отмечено") и cbUnChecked ("не отмечено"), а третье - cbGrayed ("не определено" или "не знаю") становится доступным для выбора если установить в True свойство AllowGrayed компонента. Свойства Checked и State связаны между собой:
если свойство State равно cbChecked, свойство Checked = True;
если свойство State равно cbUnchecked или cbGrayed, свойство Checked = False.
При щелчке мышкой эти три состояния сменяют друг друга в следующей последовательности:
|
|
Расположением текста в компоненте Delphi CheckBox также можно управлять. Для этой цели служит свойство Alignment, принимающее значения:
|
RadioButton - это "радиокнопка", и как следует из названия, служит для "переключения каналов", как и в настоящем радиоприёмнике. Это значит, если выбран один из компонентов Delphi RadioButton, то с остальных компонентов выбор автоматически снимается. Получается, что в данный момент может быть выбран только один из группы компонентов Delphi RadioButton. Если в начальный момент ни один из компонентов не выбран, то достаточно сделать такой выбор - щёлкнуть по одному из компонентов, и в дальнейшем можно только "переключать" компоненты, снять выбор уже невозможно. Хотя нет, есть способ - программно! Компонент Delphi RadioButton состоит из круглого окошка и текстовой строки. В окошке появляется отметка выбора данного компонента, текстовая строка поясняет его смысл. За изменение текстовой строки отвечает свойство Caption. Основное же свойство компонента Delphi RadioButton - Checked (т.е. "выбрано") типа Boolean, доступное как для чтения, так и для записи. У выбранного компонента свойство Checked равно True.
|
На данной Форме RadioButton1.Checked = True; RadioButton2.Checked = False; RadioButton13Checked = False; Для выбора, например, компонента RadioButton2 достаточно написать RadioButton2.Checked := True;// отметка с RadioButton1 будет снята автоматически. Для снятия выбора нужно в программе написать RadioButton1.Checked := False;// теперь ни один из компонентов не выбран. Вручную этого достичь невозможно. |
Основным событием компонента Delphi RadioButton является, естественно, OnClick, то есть щелчок мышкой. В этот момент могут быть выполнены процедуры, соответствующие выбору этого компонента. ПРИМЕР. Пусть у нас есть несколько компонентов RadioButton, и пользователь производит выбор одного из них. Затем, при нажатии кнопки, нужно проанализировать выбор пользователя, и выполнить соответствующую этому выбору процедуру. Будем исходить из предположения, что компоненты имеют имена RadioButton1, 2, 3 и так далее, а соответствующие процедуры proc1, 2, 3 и так далее. Введём глобальную переменную, принимающую значение 1, 2, 3 и так далее, соответствующее выбранному компоненту RadioButton. Присваивать значение будем по событию OnClick. Соответственно, потребуется столько обработчиков этого события, сколько компонентов RadioButton у нас в программе. Однако, это затратно и утомительно, плодить множество аналогичных обработчиков. Ведь, использовав параметр Sender, определённый в обработчике события OnClick, можно обойтись и одним обработчиком! Только нужно выбрать его как обработчик события OnClick для всех компонентов RadioButton. Получается такая программа, состоящая из двух процедур: var Form1: TForm1; V: Integer; implementation {$R *.dfm} procedure TForm1.RadioButton1Click(Sender: TObject); begin with (Sender as TRadioButton) do V:=StrToInt(copy(Name, 12, Length(Name)-11)); end; procedure TForm1.Button1Click(Sender: TObject); begin case V of 1: proc1; 2: proc2; 3: proc3; 4: proc4; 5: proc5; 6: proc6; end; end;
