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

OnScroll, в ответ на которое и нужно выполнять необходимые действия. Должны вам сообщить, что компонент ScrollBar не имеет никакого отношения ни к форме, ни к компоненту ScrollBox. И вообще, он используется редко. Авторы этой книги будут вам признательны, если вы сообщите им о применении компонента ScrollBar в реальной задаче.

Следуя традиции данной книги, мы приводим табличное описание свойств компонента (таблица 8.14).

Свойство

Описание

Kind

Вид полосы прокрутки: горизонтальная или вертикальная.

LargeChange

Величина "информативной страницы".

Min, Max

Начальная и конечная виртуальные позиции на полосе прокрутки.

Position

Позиция бегунка на полосе прокрутки.

SmallChange

Величина "информативной строки".

OnChange

Происходит при изменении значения свойства Position. Если значение свойства

Position изменяется при перемещении пользователем бегунка, то событие OnChange

 

происходит сразу после события OnScroll.

OnScroll

Происходит при перемещении бегунка.

 

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

Рисунок 8.49 наглядно поясняет смысл свойств LargeChange и SmallChange.

Рисунок 8.49. Свойства LargeChange и SmallChange применяются при расчете величины прокрутки

Ну вот вы и разобрались с прокруткой. Уверены, что вам понравилось, как она реализована в среде Delphi. Действительно, компонентное программирование. Взял компонент ScrollBox, поместил на форму, набросал в него других компонентов — и готово. А теперь пора засучить рукава, ибо вас ждет самая увлекательная часть этой главы — проектирование панели инструментов.

8.5. Панель инструментов

Панель инструментов (toolbar) — это расположенная под главным меню панель с кнопками, раскрывающимися списками, переключателями и

386

другими компонентами. Компоненты панели инструментов, как правило, дублируют часто используемые команды меню.

8.5.1. Панель

Для создания панели инструментов в среде 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).

387

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

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

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

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

(рисунок 8.54):

388

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

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

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

Свойство

AutoSize

BorderWidth

ButtonWidth, ButtonHeight

Customizable

DisabledImages

DockSite

EdgeBorders

Описание

Если равно значению True, то панель автоматически изменяет свою высоту в зависимости от размеров размещенных на ней компонентов.

Величина отступа от границ компонента до кнопок. Ширина и высота кнопок на панели инструментов.

Если равно значению True, то пользователь во время работы программы имеет возможность управлять расположением кнопок на панели инструментов. Удерживая клавишу Shift пользователь может захватить кнопку и перенести ее на нужное место, а двойным щелчком панели инструментов (но не ее кнопок!), пользователь может вызвать специальное окно настройки.

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

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

Вложенные свойства ebLeft, ebTop, ebRight и ebBottom

определяют видимость соответственно левой, верхней, правой и

389

EdgeInnter

EdgeOuter

Flat

HideClippedButtons

HotImages

Images

Indent

List

Menu

ShowCaptions

нижней сторон рельефной рамки.

Внутренний скос рельефной рамки: esNone — скос отсутствует, esLowered — скос внутрь, esRaised — скос наружу.

Внешний скос рельефной рамки: esNone — скос отсутствует, esLowered — скос внутрь, esRaised — скос наружу.

Если равно значению True, то все кнопки, находящиеся на панели инструментов, не имеют рельефных границ. Рельефные границы появляются при наведении указателя мыши на кнопку.

Если равно значению True, то кнопки, не уместившиеся на панели целиком, не показываются вообще.

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

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

Отступ от края панели до первой кнопки.

Если равно значению True, то надписи на кнопках отображаются справа от значков. Иначе надписи отображаются под значками.

Ссылка на компонент MainMenu. Установка значения этого свойства приводит к тому, что панель инстурментов выглядит как строка главного меню.

Определяет, отображаются ли надписи на кнопках. Если установлено значение False, то на кнопках отображаются только значки.

ShowHint

Transparent

Wrapable

Разрешает (значение True) или запрещает (значение False) показ высплывающих подсказок для кнопок панели инструментов.

Если равно значению True, то фон панели инструментов является прозрачным.

Включает автоматический перенос невместившихся кнопок панели инструментов на новую строку. Если равно значению False, то перенос кнопок регулируется с помощью свойства Wrap компонента ToolButton.

OnAdvancedCustomDraw

OnAdvancedCustomDrawButton

OnCustomDraw

OnCustomDrawButton

OnCustomizeAdded

OnCustomizeCanDelete

Происходит до и после рисования панели инструментов на экране.

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

Происходит при рисовании панели инструментов на экране.

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

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

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

390

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