各位大家好:
小弟又有问题来了,请大家教教我!我用下面这段代码在表格StringGrid1里每点一次就生成一个按键!可是生成的按键我不知道怎么移动?请大家教教我.
var Btn:TButton;
PT:TPoint;
begin
GetCursorPos(PT);
Btn:=TButton.Create(Self);
with Btn do
begin
Parent:=Self;
Btn.Caption:='按键';
Width:=50;
height:=20;
Left:=ScreenToClient(PT).X;
Top:=ScreenToClient(PT).Y;
Btn.OnClick:=buttonClickEvent; //Btn.OnClick:= ButtonClick;
// Btn.OnMouseMove:=ButtonMouseMove;
Show;
end;
end;
小弟又有问题来了,请大家教教我!我用下面这段代码在表格StringGrid1里每点一次就生成一个按键!可是生成的按键我不知道怎么移动?请大家教教我.
var Btn:TButton;
PT:TPoint;
begin
GetCursorPos(PT);
Btn:=TButton.Create(Self);
with Btn do
begin
Parent:=Self;
Btn.Caption:='按键';
Width:=50;
height:=20;
Left:=ScreenToClient(PT).X;
Top:=ScreenToClient(PT).Y;
Btn.OnClick:=buttonClickEvent; //Btn.OnClick:= ButtonClick;
// Btn.OnMouseMove:=ButtonMouseMove;
Show;
end;
end;
type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ButtonMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.ButtonMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
ReleaseCapture;
TControl(Sender).Perform(WM_SysCommand,$F012,10);
end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
With TButton.Create(self) do
begin
Left := X;
Top := Y;
Parent := self;
Caption := Format('%d,%d',[X,Y]);
OnMouseMove := ButtonMouseMove;
Show;
end;
end;