Obtener la posición del mouse en C++

Sheeraz Gul 12 octubre 2023
Obtener la posición del mouse en C++

Este tutorial enseña cómo obtener la posición del mouse en C++.

Obtener la posición del mouse en C++

C++ proporciona un método, GetCursorPos, para obtener la posición x e y del cursor del ratón. El método es muy fácil de usar; tenemos que declarar un Punto y luego pasarlo al método, y el método devolverá los puntos x e y de la posición del ratón.

Probemos un ejemplo usando el método GetCursorPos() para obtener la posición del mouse en C++.

#include <windows.h>

#include <iostream>

using namespace std;

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

El código anterior intentará obtener los puntos x e y del cursor del mouse analizando toda la pantalla. Ver la salida:

424,266

Obtener la posición del ratón suele ser necesario cuando estamos trabajando en el desarrollo de un juego o aplicación, y GameMaker:Studio no nos permitirá acceder a las coordenadas del ratón fuera de la pantalla dada; en este caso, podemos usar el siguiente código para obtener las coordenadas del mouse.

#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;
  }
}

El código anterior usa WinUser.h, un encabezado secundario de Windows, y nos ayuda a obtener las coordenadas del mouse dentro y fuera de la pantalla. Ver la salida:

630,368

Demostración de getcursorpos

Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook