Файл: Многостраничные и инструментальные панели. Полоса состоянии.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();