mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-10 00:52:42 +02:00
114 lines
2.2 KiB
ObjectPascal
114 lines
2.2 KiB
ObjectPascal
unit Unit1;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Grids, ExtCtrls, StdCtrls;
|
|
|
|
type
|
|
|
|
{ TForm1 }
|
|
|
|
TForm1 = class(TForm)
|
|
Button1: TButton;
|
|
Button2: TButton;
|
|
Button3: TButton;
|
|
Button4: TButton;
|
|
Edit1: TEdit;
|
|
StringGrid1: TStringGrid;
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure Button2Click(Sender: TObject);
|
|
procedure Button3Click(Sender: TObject);
|
|
procedure Button4Click(Sender: TObject);
|
|
procedure FormDblClick(Sender: TObject);
|
|
private
|
|
|
|
public
|
|
procedure SelectCells(Data: PtrInt);
|
|
procedure MoveToCorner(Data: PtrInt);
|
|
procedure SendKeys(Data: PtrInt);
|
|
procedure ScrollUpDown(Data: PtrInt);
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{$R unit1.lfm}
|
|
|
|
uses
|
|
MouseAndKeyInput, LCLType;
|
|
|
|
{ TForm1 }
|
|
|
|
procedure TForm1.FormDblClick(Sender: TObject);
|
|
begin
|
|
Caption := Caption + ' DblClicked';
|
|
end;
|
|
|
|
procedure TForm1.SelectCells(Data: PtrInt);
|
|
begin
|
|
StringGrid1.SetFocus;
|
|
Application.ProcessMessages;
|
|
MouseInput.Down(mbLeft, [], StringGrid1, 10, 10);
|
|
MouseInput.Up(mbLeft, [], StringGrid1, 200, 100);
|
|
end;
|
|
|
|
procedure TForm1.MoveToCorner(Data: PtrInt);
|
|
begin
|
|
MouseInput.Move([], Form1, 0, 0, 1000);
|
|
MouseInput.DblClick(mbLeft, []);
|
|
end;
|
|
|
|
procedure TForm1.SendKeys(Data: PtrInt);
|
|
begin
|
|
Edit1.SetFocus;
|
|
Application.ProcessMessages;
|
|
KeyInput.Press(VK_H);
|
|
KeyInput.Press(VK_E);
|
|
KeyInput.Press(VK_L);
|
|
KeyInput.Press(VK_L);
|
|
KeyInput.Press(VK_O);
|
|
end;
|
|
|
|
procedure TForm1.ScrollUpDown(Data: PtrInt);
|
|
var
|
|
I: Integer;
|
|
begin
|
|
ActiveControl := StringGrid1;
|
|
for I := 1 to 12 do
|
|
begin
|
|
if I < 6 then
|
|
MouseInput.ScrollDown([], StringGrid1, 10, 10)
|
|
else
|
|
MouseInput.ScrollUp([], StringGrid1, 10, 10);
|
|
Sleep(30);
|
|
end;
|
|
end;
|
|
|
|
procedure TForm1.Button1Click(Sender: TObject);
|
|
begin
|
|
Application.QueueAsyncCall(@SelectCells, 0);
|
|
end;
|
|
|
|
procedure TForm1.Button2Click(Sender: TObject);
|
|
begin
|
|
Application.QueueAsyncCall(@MoveToCorner, 0);
|
|
end;
|
|
|
|
procedure TForm1.Button3Click(Sender: TObject);
|
|
begin
|
|
Application.QueueAsyncCall(@SendKeys, 0);
|
|
end;
|
|
|
|
procedure TForm1.Button4Click(Sender: TObject);
|
|
begin
|
|
Application.QueueAsyncCall(@ScrollUpDown, 0);
|
|
end;
|
|
|
|
end.
|
|
|