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

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

как узнать handle hint а, который появляется над ярлыком в трее?


BillyJeans ©   (2003-06-30 09:39:00) 

как узнать handle hint"а, который появляется над моим ярлыком в трее?


BillyJeans   (2003-06-30 13:10:00) [1]

пишу так, но hint перерисовывает не всегда :(

procedure TMainForm.ModifyTrayIcon(Name: string);
var P : TPoint;
begin
GetCursorPos(p); SetCursorPos(1, 1);

nidata.Wnd := Self.Handle;
StrPCopy(nidata.szTip, Name + #0);
nidata.uFlags := NIF_TIP;
Shell_NotifyIcon(NIM_MODIFY, @nidata);

SetCursorPos(p.x, p.y);
end;


Cobalt   (2003-06-30 12:35:00) [2]

Хинт рисуешь не ты. Ты просто сообщаешь системному лотку, что задаешь такой текст для хинта, а отрисовывает он его сам.
Другое дело, что, если надо постоянно изменять этот текст, то попробуй такое:
При перемещении мышки над иконкой:
Запоминай текущую позицию курсора.
Двигай его куда-нить (скажем, в противоположную часть экрана :))
Устанавливай новый текст хинта
Возвращай его обратно.
---
возможно, лоток посчитает это за аргумент перерисовать хинт.


Skier   (2003-06-30 12:27:00) [3]

>BillyJeans © (30.06.03 12:12)
По кругу будем ходить ?


BillyJeans   (2003-06-30 12:12:00) [4]

Возвращаясь к вопросу:

> как узнать handle hint"а, который появляется над моим ярлыком
> в трее?


BillyJeans   (2003-06-30 11:56:00) [5]

не ну я согласен и repaint делать!


Skier   (2003-06-30 11:48:00) [6]

>BillyJeans © (30.06.03 11:45)
Хм...Хитрый вариант.
Можно попробовать искать твой хинт через API-функции
поиска окна и перерисовывать его.


BillyJeans   (2003-06-30 11:45:00) [7]

ага!


Skier   (2003-06-30 11:41:00) [8]

>BillyJeans
Если я правильно понял, то ты хочешь поменять
текст хинта во время его отображения. Так ?


BillyJeans   (2003-06-30 11:32:00) [9]

procedure WMICON(var msg: TMessage); message WM_MYICONNOTIFY;
отрабатывает, если мышка над ярлычком...


Skier   (2003-06-30 11:28:00) [10]

>BillyJeans © (30.06.03 11:21)

> WM_MYICONNOTIFY

Не понял.


BillyJeans   (2003-06-30 11:21:00) [11]

WM_MYICONNOTIFY
может всетаки подскажешь про handle?


Skier   (2003-06-30 11:14:00) [12]


> Событие, когда мышка над ярлычком я обрабатываю, вот туда
> я и хочу вставить перерисовку если нужно

Покажи как обрабатываешь...


BillyJeans   (2003-06-30 11:11:00) [13]

подскажешь может, что не так...
меняю я hint через NIM_MODIFY, он конечно меняется, но я хочу чтобы он менялся сразу, и мне не приходилось бы отводить мышку...
Событие, когда мышка над ярлычком я обрабатываю, вот туда я и хочу вставить перерисовку если нужно


Skier   (2003-06-30 11:03:00) [14]

Сдаётся мне что ты что-то не так делаешь.
IMHO, handle hint"а тут ни при чём...


BillyJeans   (2003-06-30 10:59:00) [15]

для того, чтобы его перерисовать


Skier   (2003-06-30 10:58:00) [16]

Зачем ?


Наверх

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