- •Программирование для Windows
- •Литература
- •Вам необходимо знать и уметь
- •Первая программа
- •Соглашения операционной системы Windows
- •Вызовы функций Windows
- •Идентификаторы, написанные прописными буквами
- •Новые типы данных
- •Описатели
- •Венгерская нотация
- •Точка входа программы
- •Оконная процедура
- •Регистрация класса окна
- •Создание окна
- •Отображение окна
- •Цикл обработки сообщений
- •Оконная процедура
- •Обработка сообщений
- •Воспроизведение звукового файла
- •Сообщение wm_paint
- •Сообщение wm_destroy
- •Сложности программирования для Windows
- •Синхронные и асинхронные сообщения
- •Думайте о пользователе
- •Лекция3. Приступаем с изучению компонент
- •Урок 4. Класс tObjectи его потомки
- •Урок 5. Работа с кнопками
- •Урок 6. Компонент ActionList
- •Урок 7. Работаем с меню (класс tMainMenu)
- •Урок 8. Работаем с контекстным меню (класс tPopupMenu)
- •Урок 9. Компонент Edit
- •Урок 10. Работаем с двумя формами
- •Урок 11. Текст (компоненты tLabel и tStaticText)
- •Урок 12. Компонент ListBox
- •Урок 13. Компонент ComboBox
- •Урок 14. Используем api-функции
- •Урок 15. Разные MessageBox'ы
- •Урок 16. Компонент CheckBox
- •Урок 17. Компонент RadioButton
- •Урок 18. Класс tStrings
- •Урок 19. Класс tStringList
- •Урок 20. Работаем с сетью. Клиент (класс tClientSocket)
- •Урок 21. Работаем с сетью. Сервер (класс tServerSocket)
- •Урок 22. Компонент ImageList
- •Урок 23. Пересчитываем компоненты на форме
- •Урок 24. Форма - добавление методов
- •Урок 25. Форма - добавление полей
- •Урок 27. Значок на панели задач (компонент tTrayIcon)
- •Урок 28. Работаем со сплиттером
- •Урок 29. Компонент Panel
- •Урок 30. Совместное использование сплиттера и Panel'ей
- •Урок 31. Компонент HotKey
- •Урок 32. Компонент StatusBar
- •Урок 33. Установка главной формы приложения
- •Урок 34. Рисование на форме
Урок 27. Значок на панели задач (компонент tTrayIcon)
На этом занятии мы с вами посмотрим, как можно добавить на панель задач свой значок (т. е. значок для нашей программы расположится рядом с системными часами).
Сначала переносим на форму нашего приложения компонент TTrayIconс вкладкиSamplesПалитры компонентов:
Этот компонент невизуальный, т. е. он не будет виден на этапе выполнения программы.
Далее разместите на форме еще два компонента - ImageListс вкладкиWin32 Палитры компонентов иPopupMenuс вкладкиStandard. Наша форма будет вглядеть приблизительно так:
Теперь займемся установкой свойств. Сначала добавьте для компонента ImageListодно изображение (см. урок 22). Для контекстного меню добавьте два пункта - с заголовками Восстановить и Спрятать соотвественно (для этого надо сделать двойной щелчок на размещенном на нашей форме компоненте контекстного меню). Далее для формы и для компонента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;
}
Запускаем программу. После запуска мы увидите значок программы рядом с часами. При щелчке на нем правой кнопкой мыши появится контекстное меню:
Его пункты будут работать точно также, как и на форме.
Урок 28. Работаем со сплиттером
На этом занятии мы посмотрим, как работать со сплиттером. Сплиттер позволяет разделить пространство формы на несколько частей. Размеры этих частей можно менять, двигая сплиттер.
Для начала создадим окно, разделенное по горизонтали на две части одним сплиттером. В каждой части можно будет писать - т. е. и слева, и справа от сплиттера мы разместим по компоненту 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- в зависимости от того, имеем мы дело с горизонтальным или вертикальным сплиттером.