冥界3大法王 发表于 2019-12-17 10:52

如何让鼠标跟随文字,脱离Form1窗体使用?

本帖最后由 冥界3大法王 于 2019-12-17 11:00 编辑



unit Unit1;
interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,stdctrls,extctrls;   //后两个为动态创建控件的类

type
TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure FormDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure Timer1Timer(Sender: TObject);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
private
    { Private declarations }
public
    { Public declarations }
end;

var
Form1: TForm1;
lab : array of TLabel;
mx,my:integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i,t:integer;
    s:string;
begin
      s:='欲穷千里目,更上一层楼。';   //作业:改为汉字 ,有字体、颜色
      t:=length(s);
      for i:=0 to 11 do
      begin
       lab:=TLabel.Create(Application.MainForm);
       lab.Parent := self;
       lab.caption:=copy(s,i*4,4)+' ';
       lab.Left :=50+60*i;
       lab.DragMode := dmAutomatic;
       lab.Font.color:=clRed;   //设置颜色
       lab.Font.Name:='隶书';   //设置字体
      //设置每一个字的颜色都不同
       case i of
       0: lab.Font.color:=clRed;
       1: lab.Font.color:=clGreen;
       2: lab.Font.color:=clFuchsia;
       end;
       //self.Color:=rgb(random(2147483647));
       // self.Color:=floor(random(2147483647));
      
end;

end;

   procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
    // mx:=x;
    // my:=y;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
vari:integer;
begin
   for i:= 11 downto 1 do   //从后往前逐一给每个字符新的位置坐标
             begin
       lab.Left :=lab.Left +50;
       lab.Top :=lab.Top ;
      end;
            lab.Left:=mx+50;   //第一个点的坐标为当前鼠标的坐标mx,my
            lab.Top:=my;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
   mx:=x;
   my:=y;
end;

end.

mokson 发表于 2019-12-17 11:13

zhangyuzha 发表于 2019-12-17 11:14

谢谢分享

useic 发表于 2019-12-17 13:45

Delphi,太多年没用了,很是怀念啊。
页: [1]
查看完整版本: 如何让鼠标跟随文字,脱离Form1窗体使用?