鼠标自动点击的例子
procedure TForm1.Button1Click(Sender: TObject);
var
 x,y:integer;
begin
x:= form1.Left+button2.Left+25;
y:= top+button2.Top+27;
SetCursorPos(x,y);
Mouse_Event(MOUSEEVENTF_LEFTDOWN,X,Y,0,0);
Mouse_Event(MOUSEEVENTF_LEFTUP,X,Y,0,0);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
  showmessage('fksj');
end;把上面的左键换成右键消息

解决方案 »

  1.   

    sendmessage(mouse_click ...) 
    发一条mouse的消息
      

  2.   

    怎样发送mouse的消息,具体些,谢谢
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      X, Y: Integer;
    begin
      X := 1;
      Y := 1;
      SendMessage(Edit1.Handle, WM_RBUTTONDOWN, 0, Y shl 16 + X);
      SendMessage(Edit1.Handle, WM_RBUTTONUP, 0, Y shl 16 + X);
    end;
      

  4.   

    其实,我的本意是想在Form上加上一些Image,然后每个Image有一个Popupmenu,通过鼠标左键点击Image来实现Popupmenu 的弹出,而屏蔽掉其右键的响应.经过长时间的思考,我终于作出了一个通用程序.如下,仅作参考
    procedure  TNavigating.popit(Sender: TObject;X, Y: Integer);
    var popX,popY:integer;
    begin
    with  TImage(sender)  do
       begin
         popX:=parent.Left+left+x;
         popY:=parent.Top+Top+y;
         popupmenu.Popup(popX,popY);
       end;
    end;然后,
    Form1image1Mousedown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer  )
    begin 
    if mbLeft=button then
       popit(sender,x,y);
    end;再把Popupmenu的AutoPopUp 设为False就可以了.
      

  5.   

    上面那段程序菜单弹出的位置不太准确,我试了一下这样改了改,让菜单在鼠标点下的位置弹出
    procedure  TForm1.popit(Sender: TObject;X, Y: Integer);
    var
      pt: TPoint;
    begin
    with  TImage(sender)  do
       begin
         pt := Point(X, Y);
         pt := TControl(Sender).ClientToScreen(pt);
         popupmenu1.Popup(pt.X, pt.Y);
       end;
    end;