📄 mouse_unit.pas
字号:
unit mouse_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
procedure GroupBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure GroupBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure GroupBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
opos:tpoint; //记录原始位置
cpos:tpoint; //记录当前位置
dpos:tpoint; //记录鼠标按下时位置
mlbd:boolean; //标记鼠标左键是否按下
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.GroupBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
opos.X:=GroupBox1.Left; //记录原始坐标位置
opos.Y:=GroupBox1.Top;
dpos.X:=x; //鼠标按下位置
dpos.Y:=y;
dpos:=clienttoscreen(dpos);
if button=mbleft then
mlbd:=true;
end;
procedure TForm1.GroupBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if mlbd then
begin
cpos.X:=x;
cpos.Y:=y;
cpos:=clienttoscreen(cpos);
GroupBox1.Left:=opos.X+(cpos.X-dpos.X);
GroupBox1.Top:=opos.y+(cpos.y-dpos.y);
end;
end;
procedure TForm1.GroupBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
mlbd:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -