![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Иконка в трее
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]
Повесить можно и без окна. Но толку с этого не будет ровно никакого. Потому что сообщения от иконки система посылает именно окну, и ТОЛЬКО окну. Нет окна - значит, нет и приемника сообщений, значит, и негде их обрабатывать. И будет эта красивая иконка висеть трее совершенно без всякой пользы.
Поэтому, как правило, трей-программа - это невидимое окно.