- •Работа с кнопками
- •Компонент Edit
- •2. Событие KeyPress возникает при нажатии алфавитно-
- •Текст (компоненты tLabel и tStaticText)
- •Компонент ListBox
- •Компонент ComboBox
- •Компонент CheckBox
- •Компонент RadioGroup
- •Класс tStringList
- •Компонент ImageList
- •Invalidate(); //Перерисовываем.
- •Создание главного меню
- •Работаем с контекстным меню (tPopupMenu)
- •Значок на панели задач (компонент tTrayIcon)
- •Работаем со сплиттером
- •Компонент Panel
- •Совместное использование сплиттера и Panel
- •Компонент HotKey
- •Компонент StatusBar
- •Назначение формы главной
- •Рисование на форме
- •Компонент ActionList
- •Работаем с двумя формами
- •Используем api-функции
- •Окна сообщений
- •Работаем с сетью. Клиент (класс tClientSocket)
- •Работаем с сетью. Сервер (класс tServerSocket)
- •Пересчитываем компоненты на форме
- •Форма - добавление методов
- •Форма - добавление полей
- •Форма - добавление свойств
Значок на панели задач (компонент tTrayIcon)
Рассмотрим, как можно добавить на панель задач свой значок (т. е. значок для нашей программы расположится рядом с системными часами).
Сначала переносим на форму нашего приложения компонент TTrayIcon с вкладки Samples:
Этот компонент невизуальный, т. е. он не будет виден на этапе выполнения программы.
Далее разместите на форме еще два компонента - ImageList с вкладки Win32 и PopupMenu
с вкладки Standard. Наша форма будет вглядеть приблизительно так:
Теперь займемся установкой свойств. Сначала добавьте для компонента ImageList одно изображение. Для контекстного меню добавьте два пункта - с заголовками «Восстановить» и «Спрятать» соответственно (для этого надо сделать двойной щелчок на размещенном на нашей форме компоненте контекстного меню). Далее для формы и для компонента TrayIcon установите свойство PopupMenu в PopupMenu1 (именно такое имя получит наше контекстное меню по умолчанию). Кроме того для связывания компонента TrayIcon со списком изображений установите его свойство Icons в ImageList1. Для того, чтобы для нашего значка на панели задач появлялось контекстное меню, задайте его свойство PopupMenuOn в imRightClickUp (это означает, что оно будет появляться при щелчке правой кнопкой мыши). И, наконец, установите свойство Visible для компонента TrayIcon1 в true.
Теперь надо добавить обработчики для пунктов контекстного меню.
void __fastcall TForm1::N1Click(TObject *Sender)
{
// Восстановление формы.
Form1->Visible = true;
TrayIcon1->Restore();
}
void __fastcall TForm1::N2Click(TObject *Sender)
{
// Скрытие формы.
Form1->Visible = false;
}
Запускаем программу. После запуска мы увидите значок программы рядом с часами. При щелчке на нем правой кнопкой мыши появится контекстное меню:
Его пункты будут работать точно также, как и на форме.
Работаем со сплиттером
Сплиттер позволяет разделить пространство формы на несколько частей. Размеры этих частей можно менять, двигая сплиттер.
Для начала создадим окно, разделенное по горизонтали на две части одним сплиттером. В каждой части разместим по компоненту Memo.
Разместите на форме компонент Memo. Он расположен на вкладке Stanard Палитры Компонентов:
Установите его свойство Align в alLeft. Memo прилипнет к левой части формы.
Теперь разместите на форме сплиттер. Он расположен на вкладке Additional Палитры Компонентов:
Для него свойство Align тоже установите в alLeft (если оно само не установилось в это значение).
Разместите на форме еще один экземпляр Memo. Для него свойство Align в alClient.
Можно запускать программу. Она будет выглядеть приблизительно так:
Аналогично можно делить форму сплиттером и на большее число частей. Например, если нам нужна форма такого вида - одна часть сверху и две - снизу (слева и справа):
то вы должны разместить на форме первый компонент Memo и установить его свойство Align в alTop, потом разместить один сплиттер и для него установить свойство Align тоже в alTop, затем расположить второй Memo, для которого свойство Align устанавливается в alLeft. Осталось разместить еще один сплиттер - для него свойство Align устанавливается как и для предыдущего Memo в alLeft, и, наконец, для последнего, третьего Memo свойство Align устанавливается в alClient.
И для первого, и для второго вариантов нашей программы мы можем менять размеры частей нашего окна, двигая сплиттер.
У сплиттера существует несколько полезных свойств. Например, толщина сплиттера. Она задается либо через свойство Width, либо через свойство Height - в зависимости от того, имеем мы дело с горизонтальным или вертикальным сплиттером.