Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delphi.pdf
Скачиваний:
191
Добавлен:
24.02.2016
Размер:
6.84 Mб
Скачать

OnCustomizeCanInsert

OnCustomized

OnCustomizeDelete

OnCustomizeNewButton

Происходит, когда пользователь пытается добавить кнопку с помощи окна настройки панели инструментов.

Происходит по окончании любого изменения на панели инструментов.

Происходит, когда пользователь убирает кнопку с панели при помощи окна настройки панели инструментов.

Используется для формирования списка кнопок, доступных для добавления на панель инструментов. В этом обработчике, как правило, динамически создаются и возвращаются через параметр Button объекты класса TToolButton (или производных классов).

OnCustomizeReset

OnCustomizing

OnGetSiteInfo

Происходит при нажатии пользователем кнопки Reset в окне настройки панели инструментов.

Происходит при вызове пользователем окна настройки панели инструментов и при нажатии кнопки Reset в этом окне.

Происходит, когда у компонента запрашивается место для стыковки.

Таблица 8.15. Важнейшие свойства и события компонента ToolBar

8.5.2. Кнопки

Кнопки панели инструментов представлены компонентами ToolButton. Не пытайтесь найти компонент ToolButton в палитре компонентов. Его там нет, поскольку он не является самостоятельным компонентом, а создается и управляется из компонента ToolBar.

Шаг 55. Для добавления кнопки вызовите контекстное меню компонента ToolBar и выберите команду New Button (рисунок 8.55).

Рисунок 8.55. Создание кнопки на панели инструментов с помощью команды New Button контекстного меню

391

На панели инструментов появится кнопка, свойства которой будут тут же показаны в окне свойств. Дайте компоненту имя OpenToolButton.

Шаг 56. Аналогичным образом создайте еще четыре кнопки с программными идентификаторами SaveAsToolButton, HalfSizeToolButton, NormalSizeToolButton и DoubleSizeToolButton (рисунок 8.56).

Рисунок 8.56. Все необходимые кнопки созданы, но для них еще не заданы значки

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

(таблица 8.16).

Свойство

Action

AllowAllUp

AutoSize

Caption

Down

DropDownMenu

Grouped

Описание

Команда, хранящаяся в компоненте ActionList и выполняемая при нажатии кнопки (см. параграф 8.6).

Разрешает всем кнопкам одной группы находиться в отжатом состоянии.

Включает режим автоматического подбора размеров кнопки в зависимости от размеров значка и надписи.

Надпись на кнопке.

Если равно True, то кнопка рисуется нажатой.

Выпадающее меню, которое появляется при нажатии кнопки. Это свойство используется, если свойство Style содержит значение tbdDropDown.

Определяет, принадлежит ли кнопка группе взаимоисключающих переключателей. Сгруппированными считаются расположенные рядом кнопки со значением True в свойстве Grouped и значением tbdCheck в свойстве Style.

ImageIndex Номер значка в списке Images компонента ToolBar.

392

Indeterminate

Marked

MenuItem

Style

Wrap

Если равно True, то кнопка имеет неопределенное состояние и рисуется поблекшей.

Если равно значению True, то кнопка подсвечивается цветом выделенных элементов (стандартно — синим цветом).

Пункт меню, с которым ассоциирована кнопка. При установке этого свойства из соответствующего пункта меню копируются значения наиболее важных свойств и событий, например Caption, ImageIndex, Enabled, Hint, OnClick.

Тип кнопки: tbsButton — обычная кнопка, tbsCheck — кнопка-переключатель, tbsDivider — разделитель в виде вертикальной черты, tbsDropDown — выпадающий список, tbsSeparator — разделитель в виде вертикальной черты или пробела в зависимости от значения свойства Flat компонента ToolBar.

Обеспечивает перенос последующих кнопок на новую строку.

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

8.5.3. Значки на кнопках

Главным атрибутом кнопки является значок. Он определяется значением свойства ImageIndex (номер значка в списке Images компонента ToolBar). Установим на кнопках значки, воспользовавшись ранее созданным списком

ImageList.

Шаг 57. Выделите на форме компонент ToolBar, перейдите к окну свойств и установите свойству Images значение ImageList (рисунок 8.57).

Рисунок 8.57. На кнопках панели инструментов появились значки

Вот здорово! На всех кнопках появились разные значки, хотя мы не устанавливали свойство ImageIndex ни в одной из кнопок. Это произошло потому, что компонент ToolBar сделал это за нас, назначив каждой кнопке номер значка в соответствии с очередностью добавления кнопок на панель.

393

Признаемся, что мы немного схитрили, заранее расположив значки в компоненте ImageList в том порядке, в котором они расположены на панели инструментов. В реальных задачах вам, вероятно, потребуется вручную указывать номера значков для каждой кнопки с помощью свойства

ImageIndex.

8.5.4. Надписи на кнопках

Шаг 58. Кнопка может содержать надпись рядом со значком. Текст надписи устанавливается в свойстве Caption. Сначала он не виден и, чтобы его показать, задайте в компоненте ToolBar свойству ShowCaptions значение

True (рисунок 8.58).

Рисунок 8.58. Кнопки панели инструментов могут содержать надписи (свойство ShowCaptions равно True)

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

Шаг 59. Подправим надписи. В окне свойств переключите свойство List в значение True (рисунок 8.59).

394

Рисунок 8.59. Надписи на кнопках располагаются справа от значков (свойство List равно True)

Как вы уже догадались, свойство List управляет расположением текста и значков относительно друг друга.

Шаг 60. Теперь измените надписи на кнопках (свойство Caption), чтобы получить панель инструментов, показанную на рисунке 8.60.

Рисунок 8.60. Кнопкам заданы правильные надписи

Шаг 61. Чтобы панель инструментов выглядела лучше, подгоним размеры кнопок под размеры надписей. Для этого воспользуемся свойством AutoSize, которое есть у каждой кнопки. При установке этого свойства применим технику группового редактирования компонентов.

395

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

вместо имени активного компонента будет показано общее количество выделенных компонентов:

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

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

Перейдите к окну свойств и установите свойство AutoSize в значение True (рисунок 8.61).

Рисунок 8.61. Применение техники группового редактирования при установке во всех кнопках свойства AutoSize в значение

True

Теперь выполните компиляцию и запустите программу. Результат представлен на рисунке 8.62.

396

Рисунок 8.62. Программа для просмотра графических файлов имеет панель инструментов, однако кнопки пока еще не работают

Кнопки нажимаются, но реакции на них пока нет. Мы этим займемся потом, а сейчас придадим панели инструментов более современный вид. Избавимся от чрезмерного количества 3D-эффектов на кнопках.

Шаг 63. Закройте приложение и вы вернетесь в среду Delphi. Выделите на форме компонент ToolBar и переключите его свойство Flat в значение True. Теперь снова запустите программу и полюбуйтесь на результат (рисунок

8.63).

Рисунок 8.63. Кнопки панели инструментов получили современный «плоский» вид

397

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