来判断是否鼠标左键点击

至于想处理MOUSECLICK时的MOUSE位置和状态,你可以不处理ONCLICK事件,而在ONMOUSEDOWN事件里处理。这个事件提供的参数分别告诉了你   
  Sender:那一个按钮接收这个鼠标事件:   
  Shift:当前鼠标的按钮状态是什么样,其他键盘状态是什么样,我们一般用   
  if   Shift=[ssleft]来判断是否鼠标左键点击,有关方括号里的值,你可以查询DELPHI的在线帮助,关键字:TShiftState   
  Button:表明那一个鼠标键被按下,   
  X,Y:鼠标在接收这个鼠标事件时的位置,如果你需要的是屏幕的位置可以这样做:   
    
  procedure   TForm1.Button1MouseDown(Sender:   TObject;   Button:   TMouseButton;   
      Shift:   TShiftState;   X,   Y:   Integer);   
  var   
      CurrentPos:TPoint;   
  begin   
      if   shift=[ssRight]   then   begin   
      CurrentPos:=TButton(Sender).clientToScreen(point(x,y));   
      {或者,GetcursorPos(CurrentPos)}   
      Showmessage(format('X:%d,Y:%d',[CurrentPos.x,CurrentPos.y]));   
  end;   
  //这个过程将使你鼠标在按钮上点下时弹出对话框,标明当前的位置。   
  end;   
  ;   
  这样CurrentPos的X,Y就是当前屏幕的坐标。

转:http://www.cnitblog.com/shuyezi122/archive/2009/02/02/54136.aspx

posted @ 2014-08-25 11:16  stma  阅读(599)  评论(0)    收藏  举报