How to write some codes for Right Clicking mouse?

Hi, experts:

Can anyone solve the problem?

I must use mousedown to allocate clicking position(leftclick) on a label. How can I use mouse rightclick on the label to show a message?

thanks a lot!

John
jl2001Asked:
Who is Participating?
 
Slick812Commented:
hello jl2001, the mouse down event has a "Button" property that you can use to determine which mouse button was used with mbLeft, mbRight and mbMiddle

Form1.Label1.MouseDown(Sender,Button,Shift,X, Y);
begin
if Button = mbRight then ShowMessage('Right Mouse button was down') else
if Button = mbLeft then ShowMessage('Left Mouse button was down');
end;
0
 
sundayboysCommented:
Use OnContextPopup event.like this:
procedure TForm1.Label1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
   showmessage('ok');
end;
0
 
rondiCommented:
var
  clickpos:TPoint;

procedure TForm.Label1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y:integer);
const
  RADIUS = 4;
begin
  if Button = mbRight then
  begin
    clickpos.X := X;
    clickpos.Y := Y;
    ShowMessage('The new click position is X:' + IntToStr(X) + ' Y:' + IntToStr(Y));
  end
  else if Button = mbLeft then
  begin
    if (X >= clickpos.X - RADIUS) and (X <= clickpos.X + RADIUS) and (Y >= clickpos.Y - RADIUS) and (Y <= clickpos.Y + RADIUS) then
      ShowMessage('CLICKED !!');
  end;
end;
0
 
jl2001Author Commented:
simple, straight forward and no bugs
0
 
jl2001Author Commented:
Thanks a lot, guys.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.