Главная страница
Навигация по странице:

  • OnScroll

  • Position

  • ScrollBar

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

  • 8.5.1. Панель Для создания панели инструментов в среде Delphi существует компонент ToolBar

  • ToolBar

  • Object TreeView .Шаг 53. Перейдите к окну Object TreeView

  • DisabledImages

  • HotImages

  • Images

  • Button

  • ToolBar . Шаг 55. Для добавления кнопки вызовите контекстное меню компонента ToolBar

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

  • Grouped

  • Учебное пособие для студентов Авторы А. Н. Вальвачев, К. А. Сурков, Д. А. Сурков, Ю. М. Четырько Содержание Содержание 1


    Скачать 2.61 Mb.
    НазваниеУчебное пособие для студентов Авторы А. Н. Вальвачев, К. А. Сурков, Д. А. Сурков, Ю. М. Четырько Содержание Содержание 1
    Дата15.01.2023
    Размер2.61 Mb.
    Формат файлаdoc
    Имя файлаlab_OOTP.doc
    ТипУчебное пособие
    #886736
    страница24 из 33
    1   ...   20   21   22   23   24   25   26   27   ...   33

    ScrollBar — это отдельная полоса прокрутки без области прокрутки. Ее согласованная работа с другими компонентами обеспечивается программистом. Для этого в компоненте ScrollBar предусмотрено событие 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) — это расположенная под главным меню панель с кнопками, раскрывающимися списками, переключателями и другими компонентами. Компоненты панели инструментов, как правило, дублируют часто используемые команды меню.

    ToolBar'>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).



    Рисунок 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 пользователь может захватить кнопку и перенести ее на нужное место, а двойным щелчком панели инструментов (но не ее кнопок!), пользователь может вызвать специальное окно настройки.

    Images'>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

    8.5.2. Кнопки

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

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



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

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

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



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

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

    Свойство

    Описание

    Action

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

    AllowAllUp

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

    AutoSize

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

    Caption

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

    Down

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

    DropDownMenu

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

    Grouped

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

    ImageIndex

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

    Indeterminate

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

    Marked

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

    MenuItem

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

    Style

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

    Wrap

    Обеспечивает перенос последующих кнопок на новую строку.
    1   ...   20   21   22   23   24   25   26   27   ...   33


    написать администратору сайта