Главная | RSS Вторник, 25.07.2017, 19:37

Меню сайта
Форма входа
Логин:
Пароль:
Категории раздела
Алгоритмы [1]
Pascal [19]
Delphi [20]
Поиск по сайту

Баннер сайта
Установите мой
баннер себе на сайт

 

Каталог статей

Главная » Статьи » Алгоритмизация и программирование » Delphi [ Добавить статью ]

Компонент Delphi BitBtn
Компонент Delphi BitBtn (кнопка с рисунком)
Компонент Delphi BitBtn (кнопка с рисунком) расположен на странице Additional Палитры Компонентов. Он является потомком класса Button - стандартной кнопки. Компонент BitBtn отличается от компонента Button тем, что на нем вместе с текстовой надписью можно отобразить растровый рисунок. Дизайн и расположение картинки определяется свойствами компонента.
Свойство Kind компонента Delphi BitBtn определяет один из стандартных вариантов кнопки BitBtn:

По умолчанию свойство Kind имеет значение bkCustom, и пользователь может сам выбирать изображение, управляя свойством. Не рекомендуется изменять свойство Glyph для предопределенных кнопок (например, для кнопки Close), т. к. в этом случае кнопка не будет выполнять закрепленные за ней действия (в данном случае закрытие окна

Специфические свойства компонента - пиктографической кнопки Delphi BitBtn перечислены в таблице:

Glyph: TBitmap Определяет рисунок, который может содержать от одного до четырёх изображений, связанных с состояниями, которые может принимать кнопка.
Kind Определяет одну из разновидностей кнопки BitBtn (см. рисунок вверху).
Layout Определяет к какому краю кнопки будет прижиматься пиктограмма:
• blGlyphLeft - к левому;
• blGlyphRight - к правому;
• blGlyphBottom - к нижнему;
• blGlyphTop - к верхнему.
Margin Определяет расстояние в пикселах, на котором будет располагаться пиктограмма от края кнопки.
NumGlyph Определяет сколько растровых изображений размещается в файле, содержащем пиктограмму (*см. ниже).
Spacing Определяет расстояние в пикселах от рисунка до текста на кнопке.
Style Определяет как выглядит кнопка в зависимости от стиля предпочтительной операционной системы. Значение bsNew соответствует современным вариантам Windows. СтильbsAutoDetect приводит оформление кнопки к стилю операционной системы, управляющей работой программы в настоящий момент.

За отображения растрового рисунка отвечает свойство Glyph. Свойство Glyph первоначально устанавливается со значением None и поэтому на кнопке нет рисунка. Кнопка может отображать до трех отдельных рисунков:
 внешний вид кнопки (когда кнопка не взаимодействует с пользователем) - это первое изображение,
 кнопка неактивна (ее нельзя выбрать и цвет ее серый) - вторая картинка,
 на кнопке сделан щелчок (кнопка нажата) - третья картинка.

При использовании нескольких изображений они должны быть подготовлены и сохранены в одном файле растрового формата BMP. Подготовить рисунок для кнопки можно в графическом редакторе. (например с помощью редактора Image Editor, входящего в состав Delphi или Adobe Photoshop). Все отдельные изображения в рисунке должны располагаться без промежутков в горизонтальной строке и иметь одинаковую высоту и ширину (как правило, 16×16 пикселов). По умолчанию левый нижний пиксел каждого рисунка определяет фоновый цвет рисунка. Обычно ему задают цвет поверхности кнопки (значение clBtnFace), при этом все пикселы изображения, имеющие тот же цвет, будут не видны, т. е. являются прозрачными. По этой причине фоновый цвет также называют прозрачным. Если установить, например, желтый цвет фонового пиксела, то фон изображения тоже станет желтым

Если изображений должно быть больше чем одно, то они должны находиться на одном рисунке в одном файле формата BMP. Давайте от откроем Image Editor - графический редактор, поставляемый совместно с пакетом Delphi

Теперь на форме расположим два компонента BitBtn. Для первой кнопки Caption будет - Пуск, для второй - Запретить. Свойство Glyph первой кнопки будет содержать наш рисунок. Обработчик первой кнопки можно оставить пустым, а для второй кнопки запишем следующее:
if (BitBtn1.Enabled = true) then
begin
BitBtn1.Enabled := false;
BitBtn2.Caption := 'Разрешить';
end else
begin
BitBtn1.Enabled := true;
BitBtn2.Caption := 'Запретить';
end;
Теперь запустим наши программу. Кнопка Пуск будет иметь рядом с собой рисунок - синию единицу, при нажатии на нее получим красную тройку. А если мы второй кнопкой заблокируем первую (присвоим свойству первой кнопки Enabled := False), то на первой кнопке рядом с заголовком появиться коричневая цифра 2.
Изменяя свойство Kind мы получим предопределенные Delphi виды кнопок. Можно применять следующие константы:
 bkCustom - изображение кнопки первоначально отсутствует и загружается самостоятельно (действует по умолчанию), реакция кнопки задается программистом



 bkOk - текст на кнопке Ok, ModalResult -mrOk;
 bkCancel - текст на кнопке Cancel; ModalResult - mrCancel, свойство Cancel - TRUE;
 bkYes - текст на кнопке Yes, свойство Default равно TRUE, ModalResult - mrYes;
 bkNo - текст на кнопке No, свойство Cancel - TRUE, ModalResult - mrNo;
 bkHelp - текст на кнопкеn Help;
 bkClose - текст на кнопке Close, закрывает форму;
 bkAbort - текст на кнопке Abort;
 bkRetry - текст на кнопке Retry;
 bkIgnore - текст на кнопке Ignore;
 bkAll - текст на кнопке Yes to All.
Зависимость расположения текста и картинки задается свойством Layout:
 blGlyphRight - картинка справа от текста;
 blGlyphLeft - картинка слева от текста;
 blGlyphBottom - картинка под текстом;
 blGlyphTop - картинка над текстом.
Расстояние (в пикселах) между текстом и картинкой задается в свойстве Spacing(по умолчанию 4 пиксела). При значении -1 текст будет центрирован относительно картинки и края кнопки.

За исключением того что компонент BitBtn позволяет использовать в названиях графические изображения, они ничем не отличаются от обычных кнопок (компонент типа Button).
Категория: Delphi | Добавил: (16.05.2012) | Автор: Al'bina Kenzhalieva
Просмотров: 2864 | Рейтинг: 0.0/0 |
Всего комментариев: 0
avatar
Поиск по сайту

Наш опрос
Какой предмет Вам нравится больше всего?
Всего ответов: 995
Друзья сайта
Система Orphus
Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Flag Counter
Архив записей

Copyright MyCorp © 2017