Панель

Для создания панели инструментов в среде Delphi существует компонент ToolBar, расположенный в палитре компонентов на вкладке Win32.


 

 

Рисунок 8.50. Компонент ToolBar

Шаг 52. Активизируйте форму и поместите на нее компонент ToolBar. Дайте новому компоненту имя ToolBar (рисунок 8.51).


 

 

 

 

 

Рисунок 8.51. Панель инструментов оказалась в области прокрутки

Внимательный читатель, наверное, уже обратил внимание, что компонент ToolBar попал в область прокрутки (внутрь компонента ScrollBox), и поэтому будет прокручиваться вместе с рисунком. Нам нужно вынести компонент ToolBar из области прокрутки и поместить его прямо в форму. Для этого воспользуемся окном Object TreeView.

Шаг 53. Перейдите к окну Object TreeView и найдите в нем компонент ToolBar. Захватите его с помощью мыши и перетащите к элементу PictureForm в этом же окне (рисунок 8.52).


 

 

 

 

 

 

 

Рисунок 8.52. Буксировка в окне Object TreeView позволяет быстро перенести компонент с одной панели на другую

Теперь компонент ToolBar находится именно там, где нужно (рисунок 8.53):


 

 

 

 

 

 

Рисунок 8.53. Панель инструментов вынесена за пределы области прокрутки

Между прочим, если вы сразу хотите поместить компонент на другой компонент, закрытый от вашего взора, выберите первый компонент в палитре компоненте и щелкните второй компонент в окне Object TreeView (рисунок 8.54):


Рисунок 8.54. Размещение компонента сразу внутри нужного компонента с помощью окна Object TreeView

Шаг 54. В окне свойств установите свойство AutoSize в значение True. После этого панель инструментов будет автоматически подгонять свои размеры в зависимости от размеров и количества размещенных на ней компонентов.

Основу для размещения кнопок вы создали и в качестве передышки мы предлагаем вам пробежаться по наиболее важным свойствам компонента ToolBar и поэкспериментировать с их значениями (таблица 8.15).

Свойство Описание
AutoSize
Если равно значению True, то панель автоматически изменяет свою высоту в зависимости от размеров размещенных на ней компонентов.
BorderWidth
Величина отступа от границ компонента до кнопок.
ButtonWidth, ButtonHeight
Ширина и высота кнопок на панели инструментов.
Customizable
Если равно значению True, то пользователь во время работы программы имеет возможность управлять расположением кнопок на панели инструментов. Удерживая клавишу Shift пользователь может захватить кнопку и перенести ее на нужное место, а двойным щелчком панели инструментов (но не ее кнопок!), пользователь может вызвать специальное окно настройки.
DisabledImages
Список значков, отображаемых на недоступных кнопках. Свойство DisabledImages используется совместно со свойством ImageIndex компонента ToolButton.
DockSite
Определяет, используется ли панель инструментов для стыковки других компонентов.
EdgeBorders
Вложенные свойства ebLeft, ebTop, ebRight и ebBottom определяют видимость соответственно левой, верхней, правой и нижней сторон рельефной рамки.
EdgeInnter
Внутренний скос рельефной рамки: esNone - скос отсутствует, esLowered - скос внутрь, esRaised - скос наружу.
EdgeOuter
Внешний скос рельефной рамки: esNone - скос отсутствует, esLowered - скос внутрь, esRaised - скос наружу.
Flat
Если равно значению True, то все кнопки, находящиеся на панели инструментов, не имеют рельефных границ. Рельефные границы появляются при наведении указателя мыши на кнопку.
HideClippedButtons
Если равно значению True, то кнопки, не уместившиеся на панели целиком, не показываются вообще.
HotImages
Список значков, которые отображаются на кнопках при наведении на них указателя мыши. Свойство HotImages используется совместно со свойством ImageIndex компонента ToolButton.
Images
Список значков, которые отображаются на кнопках. Свойство Images используется совместно со свойством ImageIndex компонента ToolButton.
Indent
Отступ от края панели до первой кнопки.
List
Если равно значению True, то надписи на кнопках отображаются справа от значков. Иначе надписи отображаются под значками.
Menu
Ссылка на компонент MainMenu. Установка значения этого свойства приводит к тому, что панель инстурментов выглядит как строка главного меню.
ShowCaptions
Определяет, отображаются ли надписи на кнопках. Если установлено значение False, то на кнопках отображаются только значки.
ShowHint
Разрешает (значение True) или запрещает (значение False) показ высплывающих подсказок для кнопок панели инструментов.
Transparent
Если равно значению True, то фон панели инструментов является прозрачным.
Wrapable
Включает автоматический перенос невместившихся кнопок панели инструментов на новую строку. Если равно значению False, то перенос кнопок регулируется с помощью свойства Wrap компонента ToolButton.
OnAdvancedCustomDraw
Происходит до и после рисования панели инструментов на экране.
OnAdvancedCustomDrawButton
Происходит до и после рисования каждой кнопки панели инструментов на экране.
OnCustomDraw
Происходит при рисовании панели инструментов на экране.
OnCustomDrawButton
Происходит при рисовании каждой кнопки панели инструментов на экране.
OnCustomizeAdded
Происходит, когда пользователь добавляет кнопку на панель с помощью окна настройки панели инструментов.
OnCustomizeCanDelete
Происходит, когда пользователь пытается убрать кнопку с помощи окна настройки панели инструментов.
OnCustomizeCanInsert
Происходит, когда пользователь пытается добавить кнопку с помощи окна настройки панели инструментов.
OnCustomized
Происходит по окончании любого изменения на панели инструментов.
OnCustomizeDelete
Происходит, когда пользователь убирает кнопку с панели при помощи окна настройки панели инструментов.
OnCustomizeNewButton
Используется для формирования списка кнопок, доступных для добавления на панель инструментов. В этом обработчике, как правило, динамически создаются и возвращаются через параметр Button объекты класса TToolButton (или производных классов).
OnCustomizeReset
Происходит при нажатии пользователем кнопки Reset в окне настройки панели инструментов.
OnCustomizing
Происходит при вызове пользователем окна настройки панели инструментов и при нажатии кнопки Reset в этом окне.
OnGetSiteInfo
Происходит, когда у компонента запрашивается место для стыковки.
Таблица 8.15. Важнейшие свойства и события компонента ToolBar

 

Яндекс цитирования