// Es wird vom
Programm aus ein Mausklick erzeugt.
// Getestet mit D4 unter WinME
// Variante 1: Ohne den Mauspfeil zu
verschieben
procedure
mausklick(TWC:TWinControl;welche:TMouseButton);
begin
case welche of
mbleft:
begin
sendmessage(TWC.handle,wm_lbuttondown,1,1);
sendmessage(TWC.handle,wm_lbuttonup,1,1);
end;
mbright:
begin
sendmessage(TWC.handle,wm_rbuttondown,1,1);
sendmessage(TWC.handle,wm_rbuttonup,1,1);
end;
else begin
sendmessage(TWC.handle,wm_mbuttondown,1,1);
sendmessage(TWC.handle,wm_mbuttonup,1,1);
end;
end;
end;
// Beispielaufruf
procedure TForm1.Button2Click(Sender:
TObject);
begin
mausklick(CheckBox1,mbleft);
end;
// ---------------------------------------------------------
// Variante 2: Mauspfeil auf das
Control setzen
procedure mausklick(Form:TForm;TWC:TWinControl;welche:TMouseButton);
var
x,y:integer;
tasteup,tastedown:longword;
begin
case welche of
mbleft:
begin
tastedown:=mouseeventf_leftdown;
tasteup:=mouseeventf_leftup;
end;
mbright:
begin
tastedown:=mouseeventf_rightdown;
tasteup:=mouseeventf_rightup;
end;
else
begin
tastedown:=mouseeventf_middledown;
tasteup:=mouseeventf_middleup;
end;
end;
if Form.borderstyle<>bsnone then begin
y:=(Form.height-Form.clientheight)-2;
x:=6;
end else begin
x:=2;
y:=2;
end;
x:=x+TWC.left+Form.left;
y:=y+TWC.top+Form.top;
setcursorpos(x,y);
mouse_event(tastedown,0,0,0,0);
mouse_event(tasteup,0,0,0,0);
end;
//
Beispielaufruf
procedure
TForm1.Button2Click(Sender: TObject);
begin
mausklick(Form1,Button3,mbleft);
end;
|