- •Работа с кнопками
- •Компонент Edit
- •2. Событие KeyPress возникает при нажатии алфавитно-
- •Текст (компоненты tLabel и tStaticText)
- •Компонент ListBox
- •Компонент ComboBox
- •Компонент CheckBox
- •Компонент RadioGroup
- •Класс tStringList
- •Компонент ImageList
- •Invalidate(); //Перерисовываем.
- •Создание главного меню
- •Работаем с контекстным меню (tPopupMenu)
- •Значок на панели задач (компонент tTrayIcon)
- •Работаем со сплиттером
- •Компонент Panel
- •Совместное использование сплиттера и Panel
- •Компонент HotKey
- •Компонент StatusBar
- •Назначение формы главной
- •Рисование на форме
- •Компонент ActionList
- •Работаем с двумя формами
- •Используем api-функции
- •Окна сообщений
- •Работаем с сетью. Клиент (класс tClientSocket)
- •Работаем с сетью. Сервер (класс tServerSocket)
- •Пересчитываем компоненты на форме
- •Форма - добавление методов
- •Форма - добавление полей
- •Форма - добавление свойств
Компонент 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 = "Это текст";
}