delphi7做一个页面的鼠标移动按键也移动代码
时间: 2024-10-15 16:21:03 浏览: 32
在Delphi 7中,要创建一个页面,当鼠标移动时对应的控件也随之移动,通常可以使用TControl的OnMouseMove事件处理程序。以下是一个简单的示例:
```delphi
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton; // 假设有一个按钮作为锚点
procedure FormMouseMove(Sender: TObject; MousePos: TPoint); // 自定义鼠标移动事件处理
private
FOldMousePos: TPoint;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormMouseMove(Sender: TObject; MousePos: TPoint);
begin
// 记录旧的鼠标位置
FOldMousePos := MousePos;
// 获取当前焦点的控件 (例如,按钮)
var ActiveControl: TControl = TControl.GetFocus;
// 如果鼠标离开按钮范围,开始跟随鼠标移动
if not Assigned(ActiveControl) or not SameUnit(MousePos, ActiveControl.ClientRect.Left) then
begin
ActiveControl.Top := MousePos.Y;
ActiveControl.Left := MousePos.X;
end;
end;
阅读全文