прямая проблема с захватом мыши - PullRequest
1 голос
/ 01 апреля 2011

У меня есть прямая игра x c ++.Я использую свой собственный значок мыши и фиксирую мышь и клавиатуру, когда игра инициализируется, но проблема в том, что если я сверну игру и выберу другое окно, например, чтобы пропустить медиаплеер с песней, когда я вернусь к экрану игры, мышь недольше работает.

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

Могу ли я просто повторно использовать тот же код мыши изинициализация и, если да, то куда мне ее поставить, чтобы она запускалась, когда приложение восстанавливает фокус.

fyi моя игра запускается как в оконном режиме, так и в полноэкранном режиме, это будет иметь значение.

спасибо

1 Ответ

0 голосов
/ 01 апреля 2011

Прежде всего, я бы посоветовал использовать API курсора Windows вместо того, чтобы рисовать мышку самостоятельно. Это будет намного более отзывчивым (не страдает от низкого fps и т. Д.), И с ним намного легче справиться Вы также можете использовать анимированные курсоры.

Для захвата мыши вы можете реально захватить ее только при нажатой кнопке мыши. Если ни одна кнопка не нажата и мышь перемещается за пределы окна приложения, вы теряете захват.

Зачем вам даже нужно захватить мышь? Вы получаете сообщения WM_MOUSEMOVE и т. Д., Когда мышь не захвачена.

...