Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы ПП all-in-one.docx
Скачиваний:
10
Добавлен:
14.11.2019
Размер:
2.64 Mб
Скачать

Кнопки-инструменты

Кнопки-инстру­менты представлены компонентами SpeedButton. Вы найдете этот компонент в палитре компонентов на странице Additional (см. рис).

Шаг 49. Активизируйте на форме панель и поместите на нее компонент SpeedButton — первую кнопку. Дайте кнопке имя OpenBtn. Активизируйте па­нель снова и поместите на нее вторую кнопку с именем SaveBtn. Аналогичным образом добавьте еще три кнопки с идентификаторами HalfSizeBtn, NormalSizeBtn и DoubleSizeBtn. Расположите кнопки на панели так, как показано на рисун­ке.

При подборе размеров и положения кнопок удобно пользоваться воз­можностью группового редактирования компонентов. Рассмотрите, как это де­лается, на примере.

Шаг 50. Выберите щелчком мыши первую кнопку, а затем, удерживая клавишу Shift, выберите щелчками мыши все остальные кнопки. При этой в инспекторе объектов произойдут следующие изменения:

  1. Очистится селектор объекта.

  1. Будут видны только общие для выбранных компонентов свойства и события.

  1. Свойства и события, которые в различных компонентах имеют разные значения, окажутся пустыми.

Шаг 51. Перейдите в окно инспектора объектов и установите следующие значения для свойств (см. рис.):

Height = 24 Width = 24 Тор=8

Шаг 51.1. Познакомьтесь с наиболее важными свойствами компонента SpeedButton (таблица 15).

Таблица.15. Важнейшие свойства компонента SpeedButton.

Состояние

Описание

AllowAllUp

Если равно true, то все кнопки одной группы могут находиться в "отжатом"

GroupIndex

Задает группу кнопок, работающих согласованно.

Down

Если равно true, то кнопка нажата. Иначе кнопка отжата.

Caption

Текст на кнопке.

Glyph

Картинка на кнопке.

Layout

Положение картинки относительно текста.

Margin

Расстояние от границы кнопки до картинки. Если оно равно -1, то картинка вместе с текстом центрируются на кнопке.

NumGlyphs

Количество образов кнопки на картинке Glyph. C++Builder отображает один из образов в зависимости от состояния кнопки.

Spacing

Расстояние от картинки до текста. Бели оно равно -1, то текст центрируется между картинкой и границей кнопки.

Картинки на кнопках

Кнопка инструментальной панели может содержать текст и картинку. Текст определяется значением свойства Caption, а картинка — значением свойства Glyph.

Шаг 52. Вначале на кнопке нет ни текста, ни картинки. Чтобы назначить кнопке картинку, сделайте двойной щелчок мыши в значении свойства Glyph. Появится окно редактора картинки, в котором существуют средства просмотра, загрузки и сохранения картинок формата *.bmp (см. рис.).

Шаг 53. Нажмите кнопку Load... и загрузите файл Open.bmp, который нахо­дится в директории BMP лабораторной работы. Закройте редактор картинки щелчком по кнопке ОК:

Шаг 53.1. Проделайте все те же действия для остальных кнопок, загрузив картинки из файлов Save.bmp для кнопки сохранения файла, Zoomin.bmp для кнопки увеличения размера рисунка и Zoomout.bmp для кнопки уменьшения размера рисунка:

Шаг 54. Создайте для кнопки показа рисунка нормального размера картинку самостоятельно. Для этого выберите в меню Tools | Image Editor (редактор изображений). Работа с редактором должна быть вам знакома. Обратите внимание, что цвет фона отображаться не будет, и если размер рисунка 16х16, то кнопка сохранит свой вид, если 32х32, то – сольется с панелью. В директории BMP лабораторной работы выберите вначале файл Normal16.bmp, а затем Normal.bmp. Кнопка будет выглядеть такой:

Шаг 54.1. Пока в приложении нет открытого файла, не имеет смысла делать все кнопки, кроме первой, доступными для пользователя, поэтому установите в них свойство Enabled в значение false:

Шаг 55. Познакомьтесь дополнительно с другими свойствами быстрых кнопок. Иногда эти кнопки имеют и картинку, и текст. В этом случае их взаимное расположение регулируется с помощью свойств Layout, Margin и Spacing. Смысл последних двух свойств наглядно поясняет рисунок :

Свойство Layout определяет общую ориентацию картинки по отношению к тексту: снизу (blGlyphBottom), слева (blGlyphLeft), справа (blGlyphRight) или сверху (blGlyphTop). По умолчанию картинка располагается слева от текста (значение свойства равно blGlyphLeft). Свойства Margin и Spacing регулируют расстояние (в пикселах) от границы кнопки до картинки и от картинки до текста. Если значение Margin равно -1, то картинка и текст центрируются на кнопке. Если значение Spacing равно -1, то текст центрируется между картинкой и границей кнопки.

Картинка может содержать несколько образов для различных состояний кнопки: отжатая, запрещенная, удерживаемая нажатой, нажатая. Количество образов регулируется свойством NumGlyphs, причем размеры всех образов счита­ются одинаковыми. Если не все образы заданы, то остальные берутся из имеющихся.