ウィンドウの現在のマウス位置を取得し、それを2つの変数x
およびy
(画面全体ではなく、ウィンドウに相対的な座標)に割り当てたいと思います。
Win32とC++を使用しています。
簡単なボーナス質問:カーソルを非表示にする/非表示を解除するにはどうすればよいですか?
GetCursorPos
を呼び出して、カーソル位置を取得します。
POINT p;
if (GetCursorPos(&p))
{
//cursor position now in p.x and p.y
}
これは、画面座標に対するカーソル位置を返します。 ScreenToClient
を呼び出して、ウィンドウ座標にマッピングします。
if (ScreenToClient(hwnd, &p))
{
//p.x and p.y are now relative to hwnd's client area
}
ShowCursor
でカーソルを非表示および表示します。
ShowCursor(FALSE);//hides the cursor
ShowCursor(TRUE);//shows it again
カーソルを非表示にするすべての呼び出しが、カーソルを再度表示する呼び出しと一致するようにする必要があります。
GetCursorPos() は、POINT構造体へのポインターを渡すとx/yを返します。
カーソルを非表示にするには、 ShowCursor() を使用します。