kea |
Отправлено: 02.10.2006, 08:27 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 80
|
Здравствуйте! Как сделать так, чтобы приложение после запуска исполняемого файла оказывалась сразу в трее (запускалось в трее). Сворачивание в трей реализовано как в примере, найденном на страницах форума. |
|
AVC |
Отправлено: 02.10.2006, 10:45 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE (kea @ 02.10.2006, 07:27) | Как сделать так, чтобы приложение после запуска исполняемого файла оказывалась сразу в трее |
Так и делать. Сразу после запуска осаживать приложение в трее.
Это можно сделать, например, при первом рисовании главной формы.
Но есть одна проблема — если приложение запускается минимизированным это событие не происходит. Поэтому лучше использовать свой обработчик WndProc главного окна.
Да, и не забудьте почаще гасить окно приложения. Именно оно располагается в taskbar. |
|
kea |
Отправлено: 02.10.2006, 15:25 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 80
|
Здравствуйте!
Приведите, пожалуйста, кусок кода))) |
|
AVC |
Отправлено: 03.10.2006, 11:15 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Я очень далеко от своего рабочего компьютера, но можете посмотреть тут Как сделать, чтобы окно пр. было свернуто в трей ?, .... TBarDemo там много разного в том числе и про трей. |
|
kea |
Отправлено: 03.10.2006, 16:27 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 80
|
Здравствуйте! Как раз по мотивам этой статьи (пример с компонентом TrayIcon) у меня возник вышеобозначенный вопрос. |
|
AVC |
Отправлено: 04.10.2006, 11:24 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Таким образом мы вернулись к началу.
QUOTE |
Это можно сделать, например, при первом рисовании главной формы.
|
Примерно так:
в Forma OnPaint
if (FIsFirstPaint) Application->Minimize();
QUOTE |
Но есть одна проблема — если приложение запускается минимизированным это событие не происходит. Поэтому лучше использовать свой обработчик WndProc главного окна.
|
Вариант решения для этого и предыдущего случая приведен в TBarDemo.rar методы
void __fastcall TF_List::FormPaint (TObject *Sender)
void __fastcall TF_List::WndProc (Messages::TMessage &Message)
(Сейчас просмотрел этот пример еще раз — там допущена одна неточность: иконку в трее нужно создавать конечно не в OnPaint а, например, в одном из конструкторов формы) |
|
Gedeon |
Отправлено: 04.10.2006, 12:14 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Я, если надо свернуть форму в трей сразу предпочитаю ему в конструкторе делать PostMessage(...) с сообщением минимизации.
|
|