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(...) с сообщением минимизации.
|
 |