Поиск:

Ответ в темуСоздание новой темы Создание опроса
> есть ли событие, "противоположное" WM_MOUSEMOVE, отследить, когда мышь "покинет" окно 
V
    Опции темы
Dreamer_0x01
Дата 2.2.2007, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 12



Суть задачи. Надо отследить два различных случай - когда курсор мышки находится над окном, вызывать один вариант прорисовки, когда курсор покидает окно - вызывать другой вариант прорисовки.
Вот как отследить первый случай, я еще более менее понимаю - просто хватаю событие WM_MOUSEMOVE.

Но вот случай выхода курсора за границы окна пока что никак не пришло в голову реализовать, кроме как вызвав WM_MOUSEMOVE родительского окна. Но проблема в том, что во-первых, не хочется трогать родительское окно,  а делать все именно в одном окошке, а во-вторых, предполагается, что мое окошко может быть не обязательно дочерним. Подскажите, плиз, как реализовать данную задачку покрасивее, или ссылкой киньте на примерчик. 
Спасибо.



--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
_hunter
Дата 2.2.2007, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98





--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Earnest
Дата 2.2.2007, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Как сказано в приведенной статье, второй способ надежнее (через таймер). Делала так с давних пор. Потом узнала про TrackMouseEvent и возбудилась - красиво! Но, как оказалось, только выглядит: работает неустойчиво, даже на одной и той же машине, где стоит нормальная система. Т.е. в нормальном режиме вроде работает, но если начать хулиганить с мышью: быстро дергать, как-нибудь нелепо переключаться между приложениями, да еще если Capture используется - иногда не срабатывает. В отличие от таймера, который работает железно.


--------------------
...
PM   Вверх
Dreamer_0x01
Дата 3.2.2007, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 12



Однако, спасибо за оперативно данные указания!

ЗЫ. Приятно видеть знакомые лица.

Это сообщение отредактировал(а) Dreamer_0x01 - 3.2.2007, 01:01


--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
Winprogrammer
Дата 14.2.2007, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 23.3.2006
Где: ::Россия.РСО-Алан ия.Владикавка

Репутация: нет
Всего: нет



WM_MOUSELEAVE Notification

Это сообщение посылается виндой окну, когда курсор выходит за его пределы.
--------------------
Я не понял Вашего вопроса, но я Вам на него отвечу…-----------
Uploading файлов без гемороя - это просто!!!
Winprogrammer.ifolder.ru
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Earnest
Дата 14.2.2007, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Winprogrammer, это как раз и обсуждается в предыдущих постах: просто так MouseLeave не придет.


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0601 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.