Страница 1 из 1

Как приложению определить, что произошло переключение?

Добавлено: 04 окт 2010, 23:32
wr_vu
Доброе время суток!
Подскажите пожалуйста! В моей программе есть участок работы с курсором. Дело в том что при нажатии кнопки мыши, запоминаються определенные значения и если переключиться на другое окно(приложение) и потом вернуться к моей программе обратно, эти значения продолжают храниться. Вопрос: Как приложению вычеслить, что было переключение на другое окно(фокус) и обнулить значения? Возможно сама система посылает определенное сообщение?

Re: Как приложению определить, что произошло переключение?

Добавлено: 05 окт 2010, 02:26
BulldozerBSG
если речь идет о Windows то да система посылает сообщения.

http://www.firststeps.ru/mfc/winapi/win/r.php?120

Re: Как приложению определить, что произошло переключение?

Добавлено: 05 окт 2010, 04:20
wr_vu
BulldozerBSG писал(а):если речь идет о Windows то да система посылает сообщения.

http://www.firststeps.ru/mfc/winapi/win/r.php?120

Благодарю за ответ!

Re: Как приложению определить, что произошло переключение?

Добавлено: 05 окт 2010, 13:31
BBB
Если "переход" на другое окно выражается только в том, что перемеще курсор мыши, то переключения активного окна не происходит.
Вообще, не очень понятны действия. Вы нажимаете кнопку мыши на своем окне (это понятно), а дальше: отпускате кнопку и перемещаете указатель на другое окно или же НЕ ОТПУСКАЯ кнопку мыши, перемещаете указатель на другое окно?
При нажатии кнопии мыши рекомендуется "захватит мышь" (пр-ра SetCapture). После этого события от мыши будут продолжать идти в окно, которое сделало захват, независимо от того, над этим окном курсор мыши или уже над другим. Чтобы отпустить захват, нужно вызвать ReleaseCapture.