RAD Studio VCL Reference
ContentsIndex
PreviousUpNext
TMouse.CursorPos Property

Specifies the position of the mouse cursor.

Pascal
property CursorPos: TPoint;
C++
__property TPoint CursorPos;

Use CursorPos to get the position of the mouse cursor in global coordinates. Use this position to position UI elements in relation to the mouse. For example, the position of popup menus or the display of the drag rectangle during drag-and-dock operations is based on the value of CursorPos. 

TMouse. CursorPos can raise an exception. The property getter API call is wrapped with Win32Check, which raises the exception, EOSException, if the function fails. The API call is shown in the following code:  

function TMouse.GetCursorPos: TPoint;
begin
  Win32Check(Windows.GetCursorPos(Result));
end;

 

C++ Examples: 

/*
This example uses two check boxes, three edit boxes and
a timer component on a form.  When the application starts,
the check boxes get checked by the application depending on
whether a mouse is detected and whether
a wheel button is available. The first edit box displays
the number of lines that are scrolled each time the wheel button
is rotated. The other two edit boxes display the position
of the mouse cursor at each millisecond, using the timer component.
*/
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  CheckBox1->Checked = Mouse->MousePresent;
  CheckBox2->Checked = Mouse->WheelPresent;
  Edit1->Text = IntToStr(Mouse->WheelScrollLines);
  Edit2->Text = IntToStr((int)Mouse->CursorPos.x);
  Edit3->Text = IntToStr((int)Mouse->CursorPos.y);
}

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  Edit2->Text = IntToStr((int)Mouse->CursorPos.x);
  Edit3->Text = IntToStr((int)Mouse->CursorPos.y);
}

 

Delphi Examples: 

{
This example uses two check boxes, three edit boxes and
a timer component on a form.  When the application starts,
the check boxes get checked by the application depending on
whether a mouse is detected and whether
a wheel button is available. The first edit box displays
the number of lines that are scrolled each time the wheel button
is rotated. The other two edit boxes display the position
of the mouse cursor at each millisecond, using the timer component.
}
procedure TForm1.FormCreate(Sender: TObject);
begin
  CheckBox1.Checked := Mouse.MousePresent;
  CheckBox2.Checked := Mouse.WheelPresent;
  Edit1.Text := IntToStr(Mouse.WheelScrollLines);
  Edit2.Text := IntToStr(Mouse.CursorPos.X);
  Edit3.Text := IntToStr(Mouse.CursorPos.Y);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Edit1.Text := IntToStr(Mouse.WheelScrollLines);
  Edit2.Text := IntToStr(Mouse.CursorPos.X);
  Edit3.Text := IntToStr(Mouse.CursorPos.Y);
end;

 

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!