Компонент delphi SpeedButton представляет собой командную кнопку, на которой находится картинка(рис 1).
Рис.1
SpeedButton в отличии от BitBtn может фиксироваться в утопленном состоянии для этого кнопке SpeedButton нужно назначить какую-либо группу аналогичных кнопок, можно назначить даже если группа будет состоять из одной кнопки. Что бы назначить группу необходимо используется свойство GroupIndex и назначить ему значение не равное нулю. При создании собственных изображений для использования в этой кнопке, следует учесть, что изображения меняется при изменении состояния кнопки. Поэтому разрабатывается до 4 изображений, расположенных в горизонтальном положении в виде одного рисунка. Для примера я создал 4 рисунка и разместил их на одном изображении(рис 2) сохранить данный рисунок нужно в формате bmp.
После загружаем его в свойство Glyph, и подстраиваем размер кнопки к размеру нашей иконки.
На рисунке 3 показаны возможные состояния кнопки с использованием загруженного ранее изображения.
Рис.3
- обычное состояние, кнопка не нажата
- кнопка недоступна
- нажатая мышью
- зафиксированная кнопка
Свойства SpeedButton
Name | имя компонента |
Glyph | битовый образ, на котором находится изображение для каждого из 4 состояний кнопки |
NumGlyphs | количество картинок изображенном на рисунке загруженный в свойство Glyph |
Flat | если равно True, то граница кнопки появляется при наведении указателя мыши на кнопку |
GroupIndex | идентификатор группы кнопок. Кнопки с одинаковым идентификатором, работают подобно переключателям: нажатие на одну из кнопок группы приводит к срабатыванию других кнопок находящихся в этой группе Enabled если равно True, то кнопка доступна, при значении False кнопка недоступна |
Visible | False — позволяет скрыть кнопку или True — сделать ее видимой |
Hint | подсказка – текст появляющийся рядом с указателем мыши при наведении его на кнопку (для отображения текста надо чтобы свойство ShowHint было True) |
ShowHint | True — разрешает или False — запрещает отображение подсказки |
AllowAllUp | если True, то утопленную кнопку можно «отжимаеть» только тогда, когда нажимаем на одну из кнопок, этой же группы, а если AllowAllUp равно False, то освободить кнопку можно повторным щелчок по ней |