Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаба 1 Delphi7.doc
Скачиваний:
12
Добавлен:
04.11.2018
Размер:
1.03 Mб
Скачать

4.6.3. Кнопка с фиксацией SpeedButton

Кнопки SpeedButton (вкладка Additional) отличаются от кнопок BitBtn тремя аспектами: во-первых, они могут фиксироваться в утопленном состоянии, во-вторых, они не могут закрыть модальное окно, в третьих, они не могут быть кнопками, выбранными по умолчанию. Во всем остальном они повторяют свойства и методы кнопок BitBtn. Обычно кнопка SpeedButton используется без текста, но есть возможность добавить текст, используя свойство Caption. Часто такие кнопки используются группами (помещаются в группирующие элементы, например Panel), в которой одна кнопка находится в нажатом состоянии. Такие группы реализованы, например, в палитре инструментов графического редактора Paint, палитрах компонентов среды Delphi. На рис. 4.7 приведен пример группы кнопок палитры инструментов некоторого графического редактора, в которой активным является инструмент «карандаш».

Рис. 4.7. Пример использования группы кнопок с фиксацией

Нажатие кнопки с фиксацией может быть осуществлено только мышью или клавишей быстрого перехода, если таковая имеется.

Многие свойства кнопки с фиксацией аналогичны свойствам кнопки BitBtn (Glyph, Layout, Margin, NumGlyphs, Spacing), а свойства, определяющие ее отличительные особенности, приведены в табл. 4.10.

Таблица 4.10. Отличительные свойства кнопки SpeedButton

Свойство

Описание

AllowAllUp

Свойство логического типа, определяющее, могут ли все кнопки группы быть отпущены. Если значение свойства false, то одна из кнопок группы должна быть обязательно нажата (утоплена), если значение свойства = true, то все кнопки группы могут быть отпущены. Изменение свойства у одной кнопки группы приводит к изменению соответствующим образом значения этого свойства у всех кнопок группы. Если AllowAllUp=true, то утопленная кнопка отпускается при фиксации любой другой кнопки, входящей в ту же группу; если AllowAllUp= false, кнопку можно освободить только повторным щелчком

Down

Свойство логического типа, служит индикатором состояния кнопки. Если имеет значение true, то кнопка утоплена. Изменить значение свойства можно лишь в случае, когда значение Grouplndex не равно 0. Свойство доступно для записи, что позволяет изменять состояние кнопки программно

Flat

Свойство логического типа, определяющее наличие границы у кнопки. При установке свойству значения true ее граница появляется только при позиционировании на ней указателя мыши

Grouplndex

Свойство целого типа, определяющее номер группы, к которой принадлежит данная кнопка. По умолчанию установлено значение 0, что означает, что кнопка не принадлежит ни к одной группе. Для фиксации кнопка должна быть отнесена к какой-либо группе кнопок (эта группа может состоять из одной фиксируемой кнопки)

В отличие от кнопки Button свойство Glyph для SpeedButton определяет растровое изображение кнопки, которое может включать до четырех изображений, выводимых на кнопке. Выводимое изображение зависит от текущего состояния кнопки (рис. 4.8).

Недоступная

Зафиксированная

Обычная

Нажатая мышью

Рис. 4.8. Структура растрового изображения для кнопки SpeedButton

Для кнопки SpeedButton в отличие от кнопок Button и BitBtn предусмотрено событие OnDblClick, которое возникает при двойном щелчке на утопленной кнопке. Событием по умолчанию для кнопки с фиксацией является событие OnClick.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]