Файл: Многостраничные и инструментальные панели. Полоса состоянии.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 18.01.2024

Просмотров: 31

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Лабораторная работа.

Тема: «Многостраничные и инструментальные панели. Полоса состоянии»
StatusStrip

Компонент StatusStrip (рис. 1) представляет собой область отображения служебной информации (часто ее называют строкой состояния). Строка вывода служебной информации отображается в нижней части окна программы и обычно разделена на области. В области может отображаться, например, текстовая информация или индикатор процесса (ProgressBar) или командные кнопки.



Рис. 1. Компонент StatusStrip
Чтобы в строке состояния отображался текст, в нее надо добавить элемент StatusLabel. Для этого нужно сделать щелчок на значке раскрывающегося списка, который отображается в поле компонента StatusStrip, и выбрать StatusLabel (рис. 2). После этого надо выполнить настройку компонента toolStripStatusLabel — задать значения свойств (табл. 1).


Рис. 2. Добавление элемента в строку состояния
Таблица 1. Свойства объекта StatusLabel

Свойство

Описание

AutoSize

Признак автоматического изменения размера панели. Если значение свойства равно True, то размер ширины панели зависит от ее содержания (длины текста). Если значение свойства равно False, то ширину панели определяет свойство Size.Width

BorderSides

Определяет отображаемые границы

BorderStyle

Вид границы панели

Spring

Определяет, должен (True) или нет (False) компонент занимать всю доступную область строки состояния

Text

Текст, отображаемый в панели



Рис. 3. Форма программы StatusStrip
Следующая программа (ее форма приведена на рис. 3, а текст — в листинге 1) демонстрирует использование компонента StatusStrip. В строке состояния отражаются текущая дата и количество символов, которое пользователь ввел в поле редактирования. Значения свойств компонента StatusStrip приведены в табл. 2. Вывод информации о количестве введенных символов выполняет процедура обработки события TextChanged компонента TextBox. Отображение даты обеспечивает конструктор формы.

Таблица 2. Значения свойств компонентов toolStripStatusLabel

Свойство

Значение

toolStripStatusLabel1.AutoSize

False

toolStripStatusLabel1.Size.Width

50

toolStripStatusLabel1.Text

0

toolStripStatusLabel1.BorderSides

Right

toolStripStatusLabel2.Spring

True

toolStripStatusLabel2.TextAlign

MiddleRight


ToolStrip

Компонент ToolStrip (рис. 4) — полоса (панель) инструментов используется для размещения в нем других компонентов. В панель инструментов можно поместить командную кнопку, поле отображения текста, поле редактирования, раскрывающийся список.

Свойства компонента ToolStrip приведены в табл. 3.

Таблица 3. Свойства компонента ToolStrip

Свойство

Описание

Buttons

Items — коллекция компонентов, находящихся в панели инструментов

Dock

Граница родительского компонента (формы), к которой "привязана" панель инструментов: к верхней (Top), левой (Left), нижней (Bottom) или правой (Right)

Visible

Свойство позволяет скрыть (False) или сделать видимой (True) панель инструментов

Enabled

Свойства управляет доступом к компонентам панели инструментов. Если значение свойства равно False, то все компоненты недоступны




Рис. 4. Компонент ToolStrip
Для того чтобы в панель инструментов добавить, например, командную кнопку, надо выбрать компонент ToolStrip, сделать щелчок на значке раскрывающегося списка, который отображается в его поле, и выбрать Button (рис. 5). После этого надо выполнить настройку добавленной кнопки toolStripButton — задать значения свойств (табл. 4).



В качестве примера на рис. 6 приведена форма программы MEdit. В панели инструментов находятся четыре кнопки и разделитель (Separator). Значения свойств компонентов, находящихся в панели инструментов, приведены в табл. 5. Следует обратить внимание, фон битовых образов для командных кнопок — пурпурный (magenta). Именно этот цвет указан в качестве значения свойства ImageTransparentColor.

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


Рис. 5. Добавление элемента в панель инструментов

Таблица 4. Значения свойств компонентов

Свойство

Значение

toolStripButton1.DisplayStyle

Image

toolStripButton1.Image



toolStripButton1.ImageTransparentColor

Magenta

toolStripButton1.ToolTipText

Новый документ

toolStripButton2.DisplayStyle

Image

toolStripButton2.Image



toolStripButton2.ImageTransparentColor

Magenta

toolStripButton2.ToolTipText

Открыть

toolStripButton3.DisplayStyle

Image

toolStripButton3.Image



toolStripButton3.ImageTransparentColor

Magenta

toolStripButton3.ToolTipText

Сохранить

toolStripButton4.DisplayStyle

Image

toolStripButton4.Image



toolStripButton4.ImageTransparentColor

Magenta

toolStripButton4.ToolTipText

Печать





Рис. 6. Форма программы MEdit

NotifyIcon

Компонент NotifyIcon (рис. 7) представляет собой "извещающий" значок (notify — извещать, напоминать), который изображает в панели задач программу, работающую в фоновом режиме. Обычно при позиционировании указателя мыши на таком значке появляется подсказка, а в результате щелчка правой кнопкой — контекстное меню, команды которого позволяют получить доступ к программе (открыть окно) или завершить ее работу.



Рис. 7. Компонент NotifyIcon
Свойства компонента приведены в таблице 5.
Таблица 5. Свойства компонента NotifyIcon

Свойство

Описание

Icon

Значок, который отображается в панели задач

Text

Подсказка (обычно название программы). Отображается рядом с указателем мыши при позиционировании указателя на значке

ContextMenu

Ссылка на компонент ContextMenu, который обеспечивает отображение контекстного меню как результат щелчка правой кнопкой мыши на значке

Visible

Свойство позволяет скрыть (false) значок с панели задач или сделать его видимым (true)


Программа "Будильник" (ее окно приведено на рис. 8, а значения свойств компонентов — в табл. 6) демонстрирует использование компонента NotifyIcon. Во время создания формы надо присвоить значение свойству Icon компонента NotifyIcon — выбрать из доступных значков (ico-файлов) подходящий.


Рис. 8. Форма программы "Будильник"

Таблица 6. Значения свойств компонентов

Свойство

Значение

timer1.Interval

1000

timer1.Enabled

True

contextMenuStrip1.toolStripMenuItem1.Text

Показать

contextMenuStrip1.toolStripMenuItem2.Text

О программе

contextMenuStrip1.toolStripMenuItem3.Text

Завершить

notifyIcon1.Icon



notifyIcon1.Visible

False

notifyIcon1.ContextMenu

contextMenuStrip1



В окне программы "Будильник" после ее запуска отображается текущее время. После того как пользователь установит время сигнала, задаст текст сообщения и сделает щелчок на кнопке OK, окно программы закроется и в системной области панели задач появится колокольчик — значок, изображающий работающую программу "Будильник". При позиционировании указателя мыши на колокольчике появляется подсказка, в которой отображается время, когда будильник должен подать сигнал и текст напоминания. В контекстном меню программы, которое появляется в результате щелчка правой кнопкой мыши, три команды: Показать, О программе и Завершить (рис. 9).



Рис. 9. Значок программы "Будильник" в панели задач: подсказка и контекстное меню

Конструктор (он выполняет настройку компонентов) и функции обработки событий приведены в листинге 2. Обратите внимание, в текст программы добавлена ссылка (ее надо поместить после списка используемых пространств имен) на библиотеку winmm.dll, в которой находится функция PlaySound, обеспечивающая воспроизведение звукового сигнала. Звуковой файл должен быть в папке программы (при запуске из среды разработки в режиме отладки — в папке Debug).
// Функция PlaySound, обеспечивающая воспроизведение wav-файлов,









// командаПоказать

private: System::Void toolStripMenuItem1_Click(System::Object^ sender, System::EventArgs^ e)

{

isSet = false; // остановитьбудильник

this->Show();

notifyIcon1->Visible = false;

}
// командаОпрограмме

private: System::Void toolStripMenuItem2_Click(System::Object^ sender, System::EventArgs^ e)

{

}

// командаЗавершить

private: System::Void toolStripMenuItem3_Click(System::Object^ sender, System::EventArgs^ e)

{

}
// щелчокназначке

private: System::Void notifyIcon1_Click(System::Object^ sender, System::EventArgs^ e)

{

// если нет контекстного меню, то открыть окно программы можно так:

/*

isSet = false; this->Show();