0

オブジェクトが動いていない場合、マウスオーバーイベントを作成するのは本当に簡単です。しかし、オブジェクトが50ミリ秒ごとに移動するという問題。文字列の線ではないので、円であるスクリプトを作成できます。以前は getcursorpos() を使用していました。オブジェクト x と y を取得するよりも。他の問題はこれです

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

 y 
 |
 |     
 |
 |       cursor
 |
 |
 |

ここで、x と y の取得できない位置である p と表示されます。カーソルの位置を取得し、それを x と y と比較すると、一致しない場合、中央のカーソルはどこにありますか。さらに、オブジェクトは動き続けるため、追跡が難しくなります。何か案が?私が言ったことが混乱している場合は申し訳ありませんが、うまく説明できませんでした。

4

1 に答える 1

2

GetCursorPosのドキュメントに従うと、次のようになります。

カーソルの画面座標を受け取るPOINT構造体へのポインター

ただし、描画するときは、クライアントの座標を指定する必要があります。これは、適切な名前のScreenToClientを使用して、画面座標からクライアント座標に変換する必要がある問題ですか。

ただし、カーソル位置を手動で追跡する代わりに、すでにクライアント座標を提供しているWM_MOUSEMOVEイベントを使用することをお勧めします。

于 2010-08-13T06:13:49.620 に答える