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

Cancel - если его установить в true, определяет, что нажатие пользователем клавиши Esc будет эквивалентно нажатию на данную кнопку (событие onClick). Это свойство целесообразно задавать равным true для кнопок «Отменить» в различных диалоговых окнах, чтобы можно было выйти из диалога, нажав на эту кнопку или нажав клавишу Esc.

Свойство Default(по умолчанию), если его установить в true, то нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку (событие onClick), даже если данная кнопка в этот момент не находится в фокусе. Однако, если в момент нажатия Enter в фокусе находится другая кнопка, то все-таки сработает именно кнопка в фокусе.

.Свойство ModalRezult определяет результат с которым было закрыто модальное окно.

Кроме того, этот компонент обладает также и рассмотренными выше свойствами Caption, Enabled, Font, Name, TabOrder, TabStop и др.

В Windows различают два типа окон: модальные и немодальные окна. Модальными окнами называются такие окна, которые, появившись на экране блокируют работу пользователя, то есть пользователь может продолжить работу только после закрытия модального окна. Обычно с помощью модальных окон реализуется диалог , требующий от пользователя принятия некоторого решения. Если у кнопки определено свойство ModalRezult, то щелчок по ней приводит к закрытию модального окна, при этом в программу возвращается значение ModalRezult как результат диалога с пользователем.

Возможные значения ModalRezult являются целыми числами, некоторые из них объявлены как именованные константы:

- mrNone (число 0)

- mrOk, имеет значение idOk (число 1);

- mrCancel, имеет значение idCancel (число 2);

- mrAbort, имеет значение idAbort (число 3);

- mrRetry, имеет значение idretry (число 4);

- mrIgnore, имеет значение idIgnore (число 5);

- и др.

Если свойство ModalRezult кнопки Button установлено в ненулевое значение, отличное от mrNone (по умолчанию), то при нажатии кнопки модальная форма закрывается автоматически, поэтому нет необходимости вызывать метод Close в обработчике события onClick этой кнопки.

Кнопка Button является элементом операционной системы Windows и поэтому не может изменять свой цвет произвольным образом – она меняет свой цвет с изменением палитры Windows. Кнопка всегда имеет цвет clBtnFace и не имеет свойства Color.

 

5.17.3. Компонент BitBtn (класс TbitBtn).

Пиктограмма .

Кнопка с изображением в Delphi представлена компонентом BitBtn класс которой порожден непосредственно от класса Tbutton. В отличии от стандартной кнопки на ней кроме заголовка можно отобразить растровое изображение. Видом и размещением изображения на кнопке можно управлять с помощью свойств.

Изображение на кнопке BitBtn задается свойством Glyph(глиф, типа TbitMap). По умолчанию свойство Glyph имеет значение None, то есть кнопка не содержит рисунка. Рисунок может содержать до трех изображений (глифов). Какое именно изображение отображается на кнопке, зависит от ее текущего состояния:

- первое изображение отображается, если кнопка не нажата (по умолчанию);

- второе изображение отображается, если кнопка неактивна и не может быть выбрана;

- третье изображение отображается, когда кнопка нажата.

Свойсво Glyph определяет от одного до трех связанных с кнопкой растровых изображений. Не рекомендуется изменять свойство Glyph для стандортных кнопок, так как в этом случае кнопка не будет выполнять закрепленные за ней действия.

При щелчке в Инспекторе Объектов на кнопке с многоточием в строке свойства Glyph открывается окно Picture Editor. При нажатии в нем на кнопку Load появляется обычное окно открытия файла рисунка и можно выбрать в нем файл битовой матрицы (расширение .bmp), содержащий желаемое изображение. В частности, с Delphi поставляется большое количество изображений для кнопок. Они расположены в каталоге \Images\Buttons, а сам каталог Images в Delphi 5 и 4 расположен в каталоге \program files\common files\borland shared, а в других версиях Delphi — в каталоге \program files\borland\delphi...

Класс TbitBtn наследует все свойства родительского класса Button. Кроме них в классе TbitBtn есть свои собственные свойства.

Свойство Kind – определяет разновидность кнопки. С помощью этого свойства можно выбрать вид кнопки из набора стандартных кнопок. По умолчанию свойство Kind имеет значение bsCustom. Это значение определяет, что на кнопке должно быть выбранное (стандартное) изображение – первоначально изображение отсутствует и его надо загружать дополнительно.

Свойство LayOut – определяет край кнопки, к которому прижимается рисунок. По умолчанию это свойство имеет значение blGliphLeft (изображение слева от текста).

Свойство Margin – определяет расстояние в пикселах от края кнопки до рисунка. С помощью этого свойства можно управлять выравниванием глифа и текста относительно сторон кнопки. По умолчанию это свойство имеет значение –1, что соответствует расположению глифа и текста по центру кнопки.

Свойство NumGlyphs –определяет количество растровых изображений на кнопке.

Свойство Spacing – определяет расстояние в пикселах от рисунка до надписи на кнопке (по умолчанию – 4 пиксела).

При разработке собственных растровых изображений для использования на кнопках следует учесть, что изображения должны меняться при изменении состояния кнопки. Таких состояний может быть три: нормальное состояние, кнопка недоступна, кнопка нажата. Стандартный размер одного изображения для размещения на кнопке равен 16х16 пикселов (для трех изображений – 16 х 48 пикселов).

 

5.17.4. Компонент RadioButton (радиокнопка, класс TradioButton)

"Этот компонент позволяет выбрать единственное значение из определенного множества значений, представленного группой переключателей. Он отображается в виде кружка с текстовым заголовком и может находиться в выбранном или невыбранном состоянии. В выбранном состоянии в кружке появляется черная точка. Одновременно можно выбрать только один переключатель. Состояние переключателя определяется свойством Checked. Если в одном компоненте в группе установлено значение True, то в остальных компонентах этой группы свойства Checked принимают значение False.

Переключатели обычно располагаются группами, визуально выделенными в форме. Группирование переключателей осуществляется с помощью контейнеров. В качестве контейнеров используются компоненты: форма Form; панель Panel; группа GroupBox, область прокрутки ScrollBox.

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

Например,

RadioButton2.Checked := True;

Когда в группе выбран один из переключателей, то его состояние нельзя изменить повторным щелчком. Для компонента RadioButton событие onClick генерируется только при выборе переключателя. Повторный щелчок на переключателе не приводит к возникновению события onClick.

 

5.17.5. Компонент CheckBox (Флажок, класс TcheckBox)

 

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

Флажок выглядит как квадратик с текстовым заголовком. Если в нем есть галочка, то обозначенная этим флажком опция включена (флажок отмечен). Если квадратик пуст, то флажок снят.

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

ItemHeight – определяет высоту элемента в пикселах.

ItemIndex – содержит индекс элемента, имеющего фокус ввода.

Items – содержит набор строк отображаемых в компоненте и др.

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