|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.09.2012, 10:57 | #1 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
Обработка мыши
Пишу под Windows, использую WinAPI. Скажем, камера должна двигаться при перемещении мыши. Все, вроде бы, хорошо, обрабатываем WM_MOUSEMOVE. Но мышь выходит за пределы окна (или, в полноэкранном режиме, доходит до края), и сообщения перестают посылаться, так как мышь уже не над окном (соответственно, на краю экрана и движения как такового нет). Как с этим справиться?
Форматируйте код, будьте людьми.
|
10.09.2012, 12:40 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
может заставлять курсор быть по центру окна?
через SetCursorPos Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.09.2012, 14:39 | #3 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
|
10.09.2012, 15:14 | #4 | |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
Цитата:
f.hump не совсем понял, что эта функция делает?
Форматируйте код, будьте людьми.
|
|
10.09.2012, 15:46 | #5 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
Функция устанавливает захват сообщений курсора: делает редирект всего маус траффика на выбранное окно. При таком ракладе окно будет получать сообщения мыши даже если курсор находится вне окна, при условии, что одна из клавиш мыши была нажата над окном и продолжает удерживаться вне окна.
Плюс, есть вот эта тема: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx На случай если надо отлавливать выход с окна. |
10.09.2012, 15:52 | #6 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
К сожалению, мне нужно отлавливать и когда клавиши мыши не нажаты
Форматируйте код, будьте людьми.
|
10.09.2012, 18:00 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ClipCursor может попробовать?
тока обрабатывать потерю фокуса. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
11.09.2012, 20:30 | #8 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
GetCursorPos() / SetCursorPos() наше все!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка нажатия мыши вне окна | DelhiProgramer | Общие вопросы Delphi | 1 | 06.09.2012 18:28 |
Обработка нажатия кнопок мыши | turbovitalik | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 12.09.2011 08:49 |
Обработка колеса мыши в TScrollBox | mutabor | Общие вопросы Delphi | 6 | 01.04.2010 10:17 |
Обработка события - вращение ролика мыши | Дамир | Общие вопросы .NET | 1 | 25.12.2009 13:44 |
Обработка правой кнокпи мыши в TCoolTrayIcon | Shouldercannon | Общие вопросы Delphi | 1 | 28.06.2009 11:47 |