HOWTO · C++

C++ でマウスの位置を取得する

このチュートリアルでは、C++ でマウスの位置を取得する方法を説明します。

このページの内容

このチュートリアルでは、C++ でマウスの位置を取得する方法を説明します。

C++ でマウスの位置を取得する

C++ には、マウス カーソルの x 位置と y 位置を取得するメソッド GetCursorPos が用意されています。 この方法は非常に使いやすいです。 Point を宣言してメソッドに渡す必要があります。メソッドはマウス位置の x 点と y 点を返します。

GetCursorPos() メソッドを使用して C++ でマウスの位置を取得する例を試してみましょう。

#include <windows.h>

#include <iostream>

using namespace std;

int main() {
  POINT MousePoint;
  if (GetCursorPos(&MousePoint)) {
    cout << MousePoint.x << "," << MousePoint.y << "\n";
  }
  return 0;
}

上記のコードは、画面全体を分析してマウス カーソルの x 点と y 点を取得しようとします。 出力を参照してください。

424,266

通常、ゲームやアプリケーションの開発に取り組んでいるときはマウスの位置を取得する必要がありますが、GameMaker:Studio では、指定された画面の外でマウス座標にアクセスすることはできません。 この場合、以下のコードを使用してマウスの座標を取得できます。

#include <WinUser.h>
#include <Windows.h>
#define EXPORT extern "C" _declspec(dllexport)

EXPORT double GetMouse(double mode) {
  POINT MousePoint;
  GetCursorPos(&MousePoint);
  if (mode == 0) {
    double Mouse_X = MousePoint.x;
    return Mouse_X;
  } else {
    double Mouse_Y = MousePoint.y;
    return Mouse_Y;
  }
}

上記のコードは、Windows の子ヘッダーである WinUser.h を使用しており、画面の内外のマウス座標を取得するのに役立ちます。 出力を参照してください。

630,368

getcursorpos のデモ