Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Сообщения


Автор: RapMan 28.8.2009, 23:04
Доброе время суток!

Вопрос тривиален:
есть ли сообщения которое посылается окну когда курсор выходит за окно?

Так как если резко дернуть курсором с окна - то оно не получает WM_MOUSEMOVE, как можно отследить ето событие?

Заранее всем спасибо!

Автор: GremlinProg 28.8.2009, 23:18
есть WM_NCMOUSELEAVE, но для того, чтобы оно приходило, нужно использовать TrackMouseEvent: http://forum.vingrad.ru/act-Search/CODE/show/searchid-7301e2ce629b2c2dd31f4345c3db452e/search_in-posts/result_type/topics/flag/search/highlite/trackmouseevent/index.html

Автор: RapMan 29.8.2009, 00:08
Спасибо, но можно получить пример? помучал пару минут - ниче толком не получилось

Автор: Andrey44 31.8.2009, 06:58
Код

case WM_MOUSEMOVE:
     TRACKMOUSEEVENT tme = {0};
    tme.cbSize = sizeof TRACKMOUSEEVENT;
    tme.dwFlags = TME_LEAVE ;//or TME_NONCLIENT if you need this
    tme.hwndTrack = yourHWND;

     TrackMouseEvent(&tme);
break;

case WM_MOUSELEAVE:
   //your code
break;



Цитата(RapMan @  29.8.2009,  00:08 Найти цитируемый пост)
помучал пару минут - ниче толком не получилось 
Плохо мучал однако!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)