Доброе время суток!
Подскажите пожалуйста! В моей программе есть участок работы с курсором. Дело в том что при нажатии кнопки мыши, запоминаються определенные значения и если переключиться на другое окно(приложение) и потом вернуться к моей программе обратно, эти значения продолжают храниться. Вопрос: Как приложению вычеслить, что было переключение на другое окно(фокус) и обнулить значения? Возможно сама система посылает определенное сообщение?
Как приложению определить, что произошло переключение?
Модератор: Andy
-
- Сообщения: 270
- Зарегистрирован: 09 янв 2010, 04:14
- Контактная информация:
если речь идет о Windows то да система посылает сообщения.
http://www.firststeps.ru/mfc/winapi/win/r.php?120
http://www.firststeps.ru/mfc/winapi/win/r.php?120
BulldozerBSG писал(а):если речь идет о Windows то да система посылает сообщения.
http://www.firststeps.ru/mfc/winapi/win/r.php?120
Благодарю за ответ!
Если "переход" на другое окно выражается только в том, что перемеще курсор мыши, то переключения активного окна не происходит.
Вообще, не очень понятны действия. Вы нажимаете кнопку мыши на своем окне (это понятно), а дальше: отпускате кнопку и перемещаете указатель на другое окно или же НЕ ОТПУСКАЯ кнопку мыши, перемещаете указатель на другое окно?
При нажатии кнопии мыши рекомендуется "захватит мышь" (пр-ра SetCapture). После этого события от мыши будут продолжать идти в окно, которое сделало захват, независимо от того, над этим окном курсор мыши или уже над другим. Чтобы отпустить захват, нужно вызвать ReleaseCapture.
Вообще, не очень понятны действия. Вы нажимаете кнопку мыши на своем окне (это понятно), а дальше: отпускате кнопку и перемещаете указатель на другое окно или же НЕ ОТПУСКАЯ кнопку мыши, перемещаете указатель на другое окно?
При нажатии кнопии мыши рекомендуется "захватит мышь" (пр-ра SetCapture). После этого события от мыши будут продолжать идти в окно, которое сделало захват, независимо от того, над этим окном курсор мыши или уже над другим. Чтобы отпустить захват, нужно вызвать ReleaseCapture.