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

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

Опять про иконку в трее! [D5, D6, Win95/98, WinME]


Alexeyk ©   (2002-05-08 07:22:00) 

Привет всем! Прошу прощения за может быть слишком глупый вопрос но все же: я посадил иконку своего приложения в трей, каким способом я могу узнать ее координаты?


Anatoly Podgoretsky   (2002-05-09 12:02:00) [1]

Ответ на удивление неожиданный MAKELPARAM


Pat   (2002-05-09 11:34:00) [2]

>С помощью SendMessage
Это понятно..а как координаты передать? В хелпе нашел:

xPos

Value of the low-order word of lParam. Specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.

yPos

Value of the high-order word of lParam. Specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.

Вот как из этого сформировать lParam?


alexeyk   (2002-05-09 08:16:00) [3]

>Almaz © (08.05.02 23:53)
>Если интересно - пишите, пришлю примерчик.


Конечно интересно! Если можно примерчик мне на мыло сбросить буду очень благодарен! Заранее спасибо!


Almaz   (2002-05-09 01:35:00) [4]


> Pat © (09.05.02 01:31)
> А можно узнать поподробнее, как это возможно сделать?

С помощью SendMessage.

Удачи.


Pat   (2002-05-09 01:31:00) [5]

>посылать ему сообщения WM_MOUSEMOVE с интервалом в 16 пикселей
А можно узнать поподробнее, как это возможно сделать?


Almaz   (2002-05-08 23:53:00) [6]


> Alexeyk (08.05.02 07:22)
> Привет всем! Прошу прощения за может быть слишком глупый
> вопрос но все же: я посадил иконку своего приложения в трей,
> каким способом я могу узнать ее координаты?

Ну вопрос далеко не глупый. Более того скажу, что специальных функций для этого нет. Но сделать это можно несколько нестандартным способом. Смысл его в том, что необходимо получить ссылку на окно трея, затем посылать ему сообщения WM_MOUSEMOVE с интервалом в 16 пикселей (ширина иконки трея). Если после посылки сообщения, ваша программа получит нотификационное сообщение от иконки, то значит вы попали, а слидовательно координаты иконки - это те координаты, которые вы послали окну трея.
Если интересно - пишите, пришлю примерчик.

Удачи.


Alexeyk   (2002-05-08 08:32:00) [7]

Например, чтобы при происшествии какого-нибудь события в программе она могла вывести окошко-hint именно рядом со своей иконкой.


gek   (2002-05-08 07:59:00) [8]

А зачем это нужно?


Наверх

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