Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Справочник по компонентам Delphi.doc
Скачиваний:
148
Добавлен:
02.05.2014
Размер:
1 Mб
Скачать

Компонент tBitBtn

TObject—”TPersistent—>TComponent->TControl—>TWinControl—”

•”TButtonControl—>-TButton->TBitBtn

Модуль BUTTONS

Страница Палитры компонентов Additional

Эта кнопка, будучи потомком TButton, может нести на себе пиктограмму и имеет рад дополнительных удобств в использовании. В Delphi уже определены стандартные виды кнопок:

(Pb) property Kind: TBitBtnKind;

TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bklgnore, bkAll) ;

Для каждой из них определены: передаваемый форме результат (ModalResult):

BitBtnModalResults: array[TBitBtnKind] of TModalResult =

( 0, mrOk, mrCancel, 0, mrYes, mrNo, 0, mrAbort, mrRetry, mrlgnore, inrAll);

а также название и картинки для разных состояний. Достаточно установить значение свойства Kind, и кнопка сразу приобретет нужный вид. Более того, некоторые из видов кнопок при нажатии сразу совершают опре­деленные действия. Так, bkHelp осуществляет инициализацию системы помощи со своим (или ближайшим ненулевым родительским) контекстом. Кнопка вида bkClose закрывает форму, которой она принадлежит, вызывая ее метод Close.

Кнопка будет отнесена к виду bkCustom, если она:

• назначена Default, но при этом не принадлежит множеству [bkOk, bkYes];

• назначена Cancel, но не принадлежит множеству [bkCancel, bkNo];

• у нее изменена пиктограмма;

• модальный результат не соответствует определенному для этого вида кно­пок.

За внешний вид этой кнопки отвечают свойства, рассмотренные ниже. Стиль изображения кнопок в зависимости от операционной системы задается свойством:

(Pi-) property Style: TButtonStyle;

TButtonStyle = (bsAutoDetect, bsWin31, bsNew);

Стиль bsNew соответствует Windows 95. В любом случае корректным будет применение стиля bsAutoDetect, который сам распознает версию системы. Пиктограмма кнопки, которая вместе с текстом видна на ее поверхности, определяется свойством:

(Pb) property Glyph: TBitmap;

Для создания эффекта нажатия картинка должна немного изменяться в зависимости от состояния; кроме того, отдельная картинка нужна для неактивного состояния (когда нажатие не воспринимается). В свойстве Glyph должна быть одна битовая карта, но она может содержать картинки сразу для нескольких состояний кнопки (максимум четыре). Они интерпретируются как соответствующие нормальному (отжатому), запрещенному (неактивному), нажатому и утопленному состояниям (последнее применяется только для кно­пок TSpeedButton). Для этого картинки должны быть расположены подряд

вплотную по горизонтали. Например, при размере картинок 16х16 нужна объединенная битовая карта 64х16. Если каждая из картинок квадратная и ширина общей картинки нацело делится на высоту, то при присвоении ее свойству Glyph система сможет распознать их и скорректировать количество, определяемое свойством:

(pb) property NumGlyphs: TNumGlyphs ;

TNumGlyphs = 1..4;

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

Три свойства отвечают за расположение текста и картинки на поверхности кнопки:

(Pb) property Layout: TButtonLayout;

Способ выравнивания пиктограммы относительно краев кнопки. Может быть одним из четырех:

TButtonLayout = (biGlyphLeft, biGlyphRight, biGlyphTop, biGlyphBottom) ;

Расстояние от соответствующего способу выравнивания края кнопки до пикто­граммы описывается свойством:

(Pb) property Margin: Integer;

Промежуток между пиктограммой и текстом равен:

(Pb) property Spacing: Integer;

Если свойства Margin, Spacing или оба не заданы (по умолчанию равны -1), значения этих промежутков выбираются системой. Кнопка также имеет метод Click и свойства Caption, ModalResult, Default и Cancel. Статус Default получают кнопки видов bkOk, bkYes, a Cancel — кнопки видов bkCancel, bkNo.

Компонент TCheckBox

TObject^TPersistent—^TConiponent->TControl-”TWinControl->TButtonControl->

—>TCustoniCheckBox->TCheckBox

Модуль STDCTRLS

Страница Палитры компонентов Standard

Кнопка с независимой фиксацией, или флажок. Является стандартным элемен­том управления Windows.

Состояние кнопки отражает свойство:

(Pb) property State: TCheckBoxState;

Оно может принимать одно из трех значений:

TCheckBoxState = (cbUnchecked, cbchecked, cbGrayed) ;

Способ перехода из состояния в состояние при нажатии устанавливается свой­ством:

(Pb) property AllowGrayed: Boolean;

Если оно равно False, кнопка имеет два состояния и при каждом нажатии переходит из cbUnchecked в cbChecked и обратно. Если AllowGrayed = True, кнопка имеет три состояния и при нажатиях движется по циклу cbGrayed — cbChecked — cbUnchecked.

Показывает, отмечена mi кнопка (т. е. State = cbChecked), свойство:

(Pb) property Checked: Boolean;

Оно доступно для записи — с его помощью можно и отмечать кнопки. Зна­чение False соответствует cbUnchecked.

Выравнивание текста (только по правому или левому краю) задается при помощи свойства:

(Pb) property Alignment: TLeftRight;

TLeftRight = taLeftJustify..taRightJustify;

Кнопка также имеет свойство Caption. Двойной щелчок на кнопке не преду­смотрен.

Компонент TRadioButton

TObject—”TPersistent—>TComponent->TControl—>TWinControl—”TButConControl—>

—^TRadioButton

Модуль STDCTRLS

Страница Палитры компонентов Standard

Радиокнопка (переключатель), или кнопка с зависимой фиксацией — также стандартный элемент управления Windows. Особенностью радиокнопок явля­ется механизм их переключения. Они группируются автоматически, то есть при выборе одной из них все остальные, принадлежащие тому же элементу управления или форме, освобождаются. Для того чтобы в форме можно было использовать несколько независимых групп радиокнопок, используйте специальные компоненты (см. раздел "Группирование компонентов").

Свойство

(Pb) property Checked: Boolean;

определяет, нажата ли данная радиокнопка. При изменении этого свойства генерируется событие OnClick.

У радиокнопки имеется свойство Caption, содержащее связанньш с ней текст. Выравнивание текста радиокнопки определяется свойством

(Pb) property Alignment: TLeftRight;

и может проводиться только по левому или по правому краю. У этого компонента предусмотрено также событие:

(Pb) property OnDblClick;

Такое событие посылается только уже нажатой радиокнопке, в то время как OnClick — только ненажатой.

Соседние файлы в папке Delphi