Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава II Компоненты Delphi.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
238.59 Кб
Скачать

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 автоматически распознает количество пиктограмм. Если задана только одна пиктограмма, ее изображение меняется автоматически; в состоянии «нажата» пиктограмма смещается на один пиксель вправо и вниз, а в состоянии «запрещенная» – все цвета, кроме черного, меняются на светло-серый, а черный – на белый, что обеспечивает эффект вдавленности изображения. Следует также учесть, что самый левый нижний пиксель растра определяет цвет прозрачности: на кнопке этот цвет будет заменяться цветом поверхности кнопки.