Добавил:
ikot.chulakov@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы по Delphi с готовыми программами / Лабораторная работа №19 Создание панели инструментов.pdf
Скачиваний:
25
Добавлен:
12.07.2020
Размер:
794.87 Кб
Скачать

Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»

Рисунок 12 – Создание разделительной линии на панели инструментов с помощью команды New Separator контекстного меню

На панель инструментов будет добавлен новый компонент, имеющий вид вертикальной черты. С помощью мыши отбуксируйте его на место между кнопками btnSave и btnExit (рисунок 13):

Рисунок 13 – Буксировка разделительной линии на место между кнопками tbnSave и tbnExit

Совет: Обратите внимание на то, что разделительная линия представлена обычным компонентом TToolButton. То, какой вид имеет этот компонент (кнопка или разделительная линия), определяется свойством Style. Это свойство имеет много значений, которые перечислены в таблице 2. Таким образом создать разделитель можно другим способом: сначала вставить на панель обычную кнопку, а затем изменить значение свойства Style на tbsSeparator.

Выполните компиляцию и запустите программу.

Кнопки-переключатели

Кнопки панели инструментов могут работать как переключатели, "залипая" при нажатии. Для того чтобы кнопка была переключателем, ее свойство Style должно содержать значение tbsCheck. Состояние кнопки (нажата она или нет) определяется значением свойства Down.

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

Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»

работа пунктов меню. Кнопки панели инструментов не имеют свойства GroupIndex, они группируются по другому принципу. Сгруппированными считаются расположенные рядом кнопки, у которых свойство Grouped равно значению True и свойство Style равно значению tbsCheck.

Добавьте на форму еще один компонент TToolBar (tbView). Добавьте на панель tbView две кнопки tbSheme1 и tbSheme2. Сгруппируйте кнопки tbSheme1 и tbSheme2. Они уже находятся рядом друг с другом, поэтому просто установите их свойства Grouped=True и Style=tbsCheck. У кнопки tbnSheme1 установите свойство Down в значение True. Результат выполненных изменений приведен на рисунке 14.

Рисунок 14 – Вид формы после добавления панели tbView и кнопок

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

Обработка нажатий кнопок

При нажатии кнопок возникают события OnClick, которые должны обрабатываться точно так же, как и команды меню.

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

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

Листинг 1

procedure TfrmEditor.mitSheme1Click(Sender: TObject); begin

tbnSheme1.Down:=True;

mitSheme1.Checked:=True;

mipSheme1.Checked:=True; Memo.Color:=clWhite; //цвет фона Memo.Font.Color:=clBlack; //цвет текста

end;

procedure TfrmEditor.mitSheme2Click(Sender: TObject); begin

tbnSheme2.Down:=True;

mitSheme2.Checked:=True;

mipSheme2.Checked:=True;

Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»

Memo.Color:=clBlue;//цвет фона Memo.Font.Color:=clYellow;//цвет текста

end;

Откомпилируйте и запустите программу. Убедитесь, что кнопки tbnSheme1 и tbnSheme2 работают согласованно с соответствующими пунктами меню.

Подсказки к кнопкам

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

Создание всплывающих подсказок не требует программирования – достаточно просто разрешить компоненту отображать всплывающую подсказку, и подсказка начнет работать (свойство ShowHint=True). Его значение может устанавливаться напрямую, а может копироваться из содержащего компонента (например, из формы). Копирование значения происходит тогда, когда вспомогательное свойство ParentShowHint установлено в True. Таким образом, появлением подсказок можно управлять из содержащего компонента. Принимая во внимание, что во всех компонентах свойство ParentShowHint изначально равно True, просто установите в компонентах tbStandart и tbView свойство ShowHint в значение True. В результате во всех кнопках свойство ShowHint тоже получит значение True и это заставит их отображать свои подсказки.

Текст отображающийся во всплывающей подсказке содержится до вертикальной черты (символ «|») в свойстве Hint.

Впишите для каждой кнопки текст подсказки (свойство Hint) согласно таблице 3. Установите значение свойства ShowCaption компонента tbStandart равным False, чтобы скрыть подписи кнопок.

Таблица 3 – Подсказки для кнопок панели инструментов

Кнопка

Значение свойства Hint

 

 

tbnNew

Новый|Создать новый файл

tbnOpen

Открыть|Открыть файл

tbnSave

Сохранить|Сохранить файл

tbnExit

Выйти|Выйти из программы

tbnSheme1

Схема1|Установить стандартную цветовую схему

tbnSheme2

Схема2|Установить нестандартную цветовую схему

Выполните компиляцию и запустите программу. Убедитесь, что отображаются подсказки в строке состояния и появляются всплывающие подсказки для кнопок панели инструментов (рисунок 15).