11 Voto

Delphi/Lazarus: Cómo determinar la Posición del Ratón

Pregunta de Invitado | 21/10/2020 a las 23:43

¿Existe alguna posibilidad de especificar la posición actual del mouse en Lazarus o Delphi?

Por ejemplo, en términos de las coordenadas X e Y recientes en la pantalla.

ResponderPositivoNegativo
1Mejor Respuesta1 Voto

Sí, es posible. Incluso hay varias formas de hacerlo. En primer lugar, siempre puede utilizar Mouse.CursorPos.X y Mouse.CursorPos.Y para llegar a la posición actual del mouse en la pantalla. Por ejemplo así:

procedure TForm1.Timer1Timer(Sender: TObject);
var
  x, y: integer;
begin
  x := Mouse.CursorPos.X;
  y := Mouse.CursorPos.Y;
  Caption := IntToStr(x) + ' ' + IntToStr(y);
end;

En este ejemplo, estamos usando un Timer para leer la posición del mouse a intervalos regulares y mostrarlos como título del formulario.

Sin embargo, muchos controles están ofreciendo directamente el evento OnMouseMove que automáticamente pone a disposición las variables X e Y. Entre otras, también cada Form ofrece este evento, por lo que también puede recuperar la posición del mouse de la siguiente manera:

procedure TForm1.FormMouseMove(Sender: TObject; 
  Shift: TShiftState; X, Y: Integer);
begin
  Label1.Caption := IntToStr(X) + ' ' + IntToStr(Y);
end;

En este ejemplo, mostramos la posición actual del mouse como Caption de una Label cada vez que el mouse se mueve sobre el formulario.
23/10/2020 a las 06:42

ResponderPositivo Negativo
Responder

Temas Relacionados

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.