C ++ Mouseover событие - PullRequest
       11

C ++ Mouseover событие

0 голосов
/ 13 августа 2010

хорошо, это действительно легко создать событие мыши, если объект НЕ движется.но проблема в том, что объект будет двигаться каждые 50 миллисекунд.это не строковая строка, поэтому я могу создать скрипт, это круг.я использовал getcursorpos ().чем получить объект х и у.другая проблема - это

 p  X---------------------

 y 
 |
 |     
 |
 |       cursor
 |
 |
 |

, где говорится, что p - это позиция, которую я получу для x и y.где находится курсор в середине, если я не получу положение курсора и сравню его с x и y, они не будут совпадать.плюс объект продолжает двигаться, поэтому его сложнее отслеживать.любая идея?извините, если то, что я сказал, сбивает с толку, я не мог бы объяснить это лучше.

1 Ответ

2 голосов
/ 13 августа 2010

Если вы следуете документации GetCursorPos , она скажет:

Указатель на структуру POINT, которая получает экранные координаты из курсор

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

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

...