![]() |
|
|
![]()
|
|
| Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 12 |
Суть задачи. Надо отследить два различных случай - когда курсор мышки находится над окном, вызывать один вариант прорисовки, когда курсор покидает окно - вызывать другой вариант прорисовки.
Вот как отследить первый случай, я еще более менее понимаю - просто хватаю событие WM_MOUSEMOVE. Но вот случай выхода курсора за границы окна пока что никак не пришло в голову реализовать, кроме как вызвав WM_MOUSEMOVE родительского окна. Но проблема в том, что во-первых, не хочется трогать родительское окно, а делать все именно в одном окошке, а во-вторых, предполагается, что мое окошко может быть не обязательно дочерним. Подскажите, плиз, как реализовать данную задачку покрасивее, или ссылкой киньте на примерчик. Спасибо. -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Как сказано в приведенной статье, второй способ надежнее (через таймер). Делала так с давних пор. Потом узнала про TrackMouseEvent и возбудилась - красиво! Но, как оказалось, только выглядит: работает неустойчиво, даже на одной и той же машине, где стоит нормальная система. Т.е. в нормальном режиме вроде работает, но если начать хулиганить с мышью: быстро дергать, как-нибудь нелепо переключаться между приложениями, да еще если Capture используется - иногда не срабатывает. В отличие от таймера, который работает железно.
-------------------- ... |
|||
|
||||
| Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 12 |
Однако, спасибо за оперативно данные указания!
ЗЫ. Приятно видеть знакомые лица. Это сообщение отредактировал(а) Dreamer_0x01 - 3.2.2007, 01:01 -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
| Winprogrammer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 23.3.2006 Где: ::Россия.РСО-Алан ия.Владикавка Репутация: нет Всего: нет |
WM_MOUSELEAVE Notification
Это сообщение посылается виндой окну, когда курсор выходит за его пределы. --------------------
Я не понял Вашего вопроса, но я Вам на него отвечу…----------- Uploading файлов без гемороя - это просто!!! Winprogrammer.ifolder.ru |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Winprogrammer, это как раз и обсуждается в предыдущих постах: просто так MouseLeave не придет.
-------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |