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

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

Помогите разобраться в Hints. [D6, Win2k]


andruxa ©   (2005-01-09 01:54:00) 

Зашел в тупик. Делаю иконку в таскбаре таким образом.

Var Nim:TNotifyIconData;
begin
With Nim do
Begin
cbSize:=SizeOf(Nim);
Wnd:=Form1.Handle;
uID:=1;
uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
hicon:=Application.Icon.Handle;
uCallbackMessage:=wm_user+100;
StrLCopy(szTip, pchar(hint), Length(hint));
End;
Shell_NotifyIcon(Nim_Add,@Nim);

Проблема (1) в следующем. Необходимо поднять хинт над иконкой на несколько пикселей.
От незнания хинт создаваемый иконкой делаю пустым. Сделал чтобы хинт появлялся вот так, по сообщению WM_MOUSEMOVE от иконки
hintwnd:= THintWindow.create(self);
Потому что здесь можно задать его координаты, но здесь другая проблема (2), нужно чтобы хинт убирался когда мышь выходит за пределы иконки. Какое сообщение нужно ловить.

Помогите решить проблемы. Может есть путь еще проще?


grom   (2005-01-09 18:44:00) [1]

Может это поможет.
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1105190027&n=5


andruxa   (2005-01-09 18:23:00) [2]

ну в самом окне понятно как. но а для иконки?.


andruxa   (2005-01-09 16:08:00) [3]

а WM_MOUSELEAVE иконка не передает. WM_MOUSEMOVE есть. не соображу как ловить.


Kerk   (2005-01-09 01:59:00) [4]

uCallbackMessage
Application-defined message identifier. The system uses this identifier to send notifications to the window identified in hWnd. These notifications are sent when a mouse event occurs in the bounding rectangle of the icon, or when the icon is selected or activated with the keyboard. The wParam parameter of the message contains the identifier of the taskbar icon in which the event occurred. The lParam parameter holds the mouse or keyboard message associated with the event. For example, when the pointer moves over a taskbar icon, lParam is set to WM_MOUSEMOVE. See the Taskbar guide chapter for further discussion.

попробуй WM_MOUSELEAVE ловить


Наверх

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