Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Иконка в трее


Andre ©   (2003-06-28 02:39:00) 

Всем еще раз привет.
У меня нет ни формы ни окна, но нужна иконка в трее. Так вот вопрос: чтобы ее туда повесить обязательно ли создавать виндовское окно, или как-то это можно обойти (на что тогда должен указывать THandle?). Спасибо.


Andre   (2003-07-02 03:00:00) [1]

А может кто-нить скажет, как создать окно в стиле Windows XP, но т.е. чтобы там кнопки были красивые и т.пр., а то чего то всё какое то мрачное выходит.


Poirot   (2003-06-30 19:13:00) [2]

Окно вы показали, так оно у вас есть... что вам мешает получить его HANDLE?


Германн   (2003-06-30 04:19:00) [3]

2 Andre © (30.06.03 02:23)
>Так окно я создал, проблема в другом: у меня есть ещё >диалоговое окно, созданное с помощью BRCC32.

BRCC32 не создает окна никогда! Примите и проч.

Но у любого окна созданногов программе есть Handle. Вот его и указывайте при создании иконки в трее.


Andre   (2003-06-30 02:23:00) [4]

Так окно я создал, проблема в другом: у меня есть ещё диалоговое окно, созданное с помощью BRCC32. Так вот нельзя ли привязать иконку именно к этому окну?


Юрий Зотов   (2003-06-29 10:27:00) [5]

> Andre © (29.06.03 02:34)

> Не очень хочется создавать компоненты в run-time.

А никаких компонентов и не надо, ресурсы тоже не нужны. Вызываете RegisterClassEx, CreateWindowEx и Shell_NotifyIcon, пишете цикл выборки сообщений и оконнную функцию. Все. Размер Exe будет около 16 Кб.


Германн   (2003-06-29 03:27:00) [6]

2 Andre © (29.06.03 02:34)
Окно - не загружается ни из какого файла. Окно создается соответствующей функцией. Визуальное отображение данного окна может определяться ресурсом.


Andre   (2003-06-29 02:34:00) [7]

Спасибо, я тогда уж лучше создам окно.
И ещё ( может кто ответит): можно ли эту иконку привязать к диалоговому окну, загруженному из файла *.RES(созданное с помощью BRCC32)? Не очень хочется создавать компоненты в run-time. Спасибо.


AlexR   (2003-06-28 22:09:00) [8]

Вообще-то можно применить один метод для изврещенцев:
в качестве THandle указываешь Handle любого окна в системе и ставишь ловушку, где определяешь: какому окну идет сооббщение и какое это сообщение. Если сообещние наше а окно то, которе мы указали, то обрабатываем сообщение.

Метод может представлять интерес только в том случае, если есть веские причины не создавать окно.


Юрий Зотов   (2003-06-28 09:58:00) [9]

Повесить можно и без окна. Но толку с этого не будет ровно никакого. Потому что сообщения от иконки система посылает именно окну, и ТОЛЬКО окну. Нет окна - значит, нет и приемника сообщений, значит, и негде их обрабатывать. И будет эта красивая иконка висеть трее совершенно без всякой пользы.

Поэтому, как правило, трей-программа - это невидимое окно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо