
- •Глава II Компоненты delphi
- •Компонент PopupMenu
- •Компонент Label.
- •Компонент Edit
- •Компонент Memo
- •Компонент Button
- •Компонент CheckBox
- •Компонент RadioButton
- •Компонент ListBox.
- •Компонент ComboBox.
- •Компонент ScrollBar.
- •Компонент Panel.
- •2. Страница additional
- •Компонент BitBtn
- •Компонент SpeedButton
- •Компонент MaskEdit
2. Страница additional
Рассмотрим наиболее часто используемые компоненты страницы ADDITIONAL. Назначение, свойства, методы и события, связанные с другими компонентами можно найти в специальной литературе. Следует указать на то, что компоненты типа StringDrid, DrawGrid и Chart используются при программировании таких задач, как ввод и вывод матриц, операции с матрицами, а также построение графиков как двумерных так и трехмерных. Для простых же приложений достаточно и тех компонент, которые будут описаны ниже.
Компонент BitBtn
Пиктографическая кнопка TВitBtn представляет собой популярную разновидность стандартной кнопки Button, которая представлена на странице STANDARD. Ее отличительная особенность – свойство Glyph, с помощью которого определяется растровое изображение, рисуемое на поверхности кнопки. В состав поставки Delphi входит множество рисунков, разработанных специально для размещения на этих кнопках (эти рисунки расположены в каталоге Images/Buttons каталога Delphi).
Свойство Kind определяет одну из 11 стандартных разновидностей кнопки:
BkCustom, bkCancel – кнопка вид, которой определяется пользователем;
bkAbort – кнопка с изображение красного крестика;
bkAll – кнопка с изображение двойной зеленой галочки;
bkClose – кнопка с изображением дверей;
bkHelp – кнопка с изображением знака вопроса;
bkIgnore – кнопка с изображением идущего человека;
bkNo – кнопка с изображением красного перечеркнутого круга;
bkOk, bkYes – кнопка с изображением одной зеленой галочки;
bkRetry – кнопка с изображением двух стрелочек направленных по кругу.
На каждой из этих кнопок кроме значка приведен текст, соответствующий названию кнопки. Пи нажатии на любую из этих 11-ти кнопок, кроме bkCustom и bkHelp, закрывается модальное окно и в программу возвращается результат mrXXX: bkOk – mrOk; bkCancel – mrCansel и т.д. Кнопка bkClose для модального окна возвращает mrCancel, а главное окно просто закрывает и завершает работу программы. Кнопка bkHelp автоматически вызывает раздел справочной службы, связанный с HelpContext формы, на которую эта кнопка помещена. Если у кнопки была изменена пиктограмма Glyph, Delphi автоматически присвоит ей Kind=bkCustom. Это произойдет также в случае, когда кнопка указана как умалчиваемая (Default = True), но Kind не содержит bkOk или bkYes, а также если ее свойство Cancel содержит True, а Kind не содержит bkCancel или bkNo.
Свойства Cancel, Default и ModalResult кнопка BitBtn унаследовала у своего родительского класса Tbutton, остальные специфичные свойства указаны ниже:
Имя свойства |
Тип свойства |
Описание |
Glyph |
Tbitmap |
Определяет от 1 до 4-х связанных с кнопкой растровых изображений. |
Kind |
TbitBtnKind |
Определяет разновидность кнопки. |
Layout |
TButtonLayout= (blGlyphLeft, blGlyphRight, blGlyphTop, blGlyphBottom) |
Определяет край кнопки, к которому прижимается пиктограмма. |
Margin |
Integer |
Определяет расстояние в пикселях от края кнопки до пиктограммы. |
NumGlyphs |
TNumGlyphs: 1..4 |
Определяет количество растровых изображений |
Spacing |
Integer |
Определяет расстояние в пикселях от пиктограммы до надписи на кнопке. |
Style |
TButtonStyle = (bsAutoDetect, bsWin31, bsNew) |
Определяет стиль оформления кнопки, зависящий от операционной системы. Стиль bsNew соответствует 32-разрядным версиям Windows95/NT. Стиль bsAutoDetect изменяет оформление кнопки в зависимости от операционной системы, под управлением которой работает в данный момент. |
При разработке собственных растровых изображений для использования в кнопках следует учесть, что изображения должны меняться при изменении состояния кнопки. Таких состояний может быть четыре: нормальное, запрещенное, нажатое и утопленное (последнее используется только в кнопках SpeedButton, см. ниже). В соответствии с этим разрабатывается до четырех пиктограмм, расположенных по горизонтали в виде одного длинного растра. Например, стандартный размер пиктограммы для размещения на кнопке равен 16х16 пикселей. Если создаются 3 пиктограммы, размер растра должен составлять 48х16. Количество пиктограмм в растре задается свойством NumGlyph. Если каждая пиктограмма – квадратная и длина растра делится без остатка на его высоту, Delphi автоматически распознает количество пиктограмм. Если задана только одна пиктограмма, ее изображение меняется автоматически; в состоянии «нажата» пиктограмма смещается на один пиксель вправо и вниз, а в состоянии «запрещенная» – все цвета, кроме черного, меняются на светло-серый, а черный – на белый, что обеспечивает эффект вдавленности изображения. Следует также учесть, что самый левый нижний пиксель растра определяет цвет прозрачности: на кнопке этот цвет будет заменяться цветом поверхности кнопки.