Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
70
Добавлен:
27.03.2015
Размер:
379.39 Кб
Скачать

Компонент HotKey

Компонент HotKey предназначен для назначения пользователем различных комбинация клавиш для выполнения той или иной команды (как правило, команды меню). Он расположен на вкладке Win32 Палитры компонентов:

Перенесите его на форму (оставьте его имя HotKey1 по умолчанию). Также добавьте на форму главное меню с подменю, в обработчике щелчка по подменю вставьте, например, вывод сообщения:

void __fastcall TForm1::MenuItem1Click(TObject *Sender)

{

ShowMessage("!!!");

}

Сейчас единственный способ выполнить действие для нашего пункта меню - это кликнуть на нем. Никаких комбинаций клавиш просто нет. А вот с помощью добавленного на форму компонента HotKey мы и предоставим пользователю такую возможность. Для этого добавьте еще на форму кнопку, в обработчике щелчка по ней напишите следующий код:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

MenuItem1->ShortCut = HotKey1->HotKey;

}

Тут мы просто присваиваем свойству ShortCut нашего пункта меню значенение свойства HotKey нашего элемента HotKey1. Потому что именно в свойство HotKey и запишется заданная пользователем на этапе работы программы некоторая комбинация клавиш.

Запускаем программу. Введем некоторую комбинацию клавиш в наш HotKey и нажмем на кнопку. Теперь при нажатии заданной пользователем комбинации клавиш и будет

выполнятся команда пункта меню:

Компонент StatusBar

Компонент StatusBar расположен на вкладке Win32 Палитры компонентов:

Разместите его на форме. Обычно на строке состояния располагаются несколько панелей. Наш пример не будет исключением из этого правила. Панели мы можем добавлять как динамически - по нажатию на кнопку, например, так и при разработке программы.

Для добавлении панели на этапе разработки программы выберите меню AddItem в

контекстном меню панели состояния в окне Object TreeView:

Другой способ добавления панелей к строке состояния - это нажатие на кнопку с многоточием для свойства Panels окна Object Inspector.

Для добавленной панели можно потом настраивать ее немногочисленные свойства в окне Object Inspector (например, такие, как текст (Text) или выравнивание (Alignment)).

Теперь посмотрим, как можно добавлять панели динамически. Добавьте на форму кнопку, в обработчике которой напишите следующий код:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

StatusBar1->Panels->Add();// Добавляем панель

// Подсчитываем число панелей.

int count = StatusBar1->Panels->Count;

// Изменяем текст у последней панели.

StatusBar1->Panels->Items[count-1]->Text = "Panel " +IntToStr(count-1);

}

Результат будет приблизительно таким:

Иногда нет необходимости разбивать строку состояния на панели. В этом случае мы используем не коллекцию Panels, а свойство SimpleText. Вот так, например, можно вывести некоторый текст в строку состояния:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

StatusBar1->SimpleText = "Это текст";

}