Компонент Delphi BitBtn (кнопка с рисунком)

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

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

  • внешний вид кнопки (когда кнопка не взаимодействует с пользователем) - это первое изображение,
  • кнопка неактивна (ее нельзя выбрать и цвет ее серый) - вторая картинка,
  • на кнопке сделан щелчок (кнопка нажата) - третья картинка.
Если изображений должно быть больше чем одно, то они должны находиться на одном рисунке в одном файле формата BMP.  Давайте от откроем Image Editor - графический редактор, поставляемый совместно с пакетом Delphi. Создание рисунка для кнопкиСоздадим в нем новое изображение размером 16 на 48 пикселов. Из расчета получить в конечном итоге  3 картинки 16 на 16. Так как у меня нет больших художественных талантов, то на картинке я изобразил просто цифры. Если у Вас получиться что нибудь более красивое, то это будет вам плюсом.
Теперь на форме расположим два компонента 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 текст будет центрирован относительно картинки и края кнопки.
Итог: был разобран компонент кнопки с картинкой. Его можно использовать для привлекательного дизайна своих программ.
Понравилась статья? Раскажите друзьям:
Общайтесь со мной

One thought on “Компонент Delphi BitBtn (кнопка с рисунком)

  1. За объяснение насчёт того, как сделать рисунок и для неактивной кнопки – спасибо. Не везде найдёшь =)

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>