拖动窗体内的控件源代码

来源:互联网 发布:暗黑破坏神3攻略软件 编辑:程序博客网 时间:2024/04/30 09:15



编译环境:CodeTyphon 5.5


unit dy224;//{$MODE Delphi}{$mode objfpc}{$H+}interfaceuses  LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, Buttons, ExtCtrls;type  { TForm1 }  TForm1 = class(TForm)     Button1: TButton;     ListBox1: TListBox;     Panel1: TPanel;    procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;      Shift: TShiftState; X, Y: Integer);    procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X,      Y: Integer);    procedure Button1MouseUp(Sender: TObject; Button: TMouseButton;      Shift: TShiftState; X, Y: Integer);    procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;      Shift: TShiftState; X, Y: Integer);    procedure Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer      );    procedure Panel1MouseUp(Sender: TObject; Button: TMouseButton;      Shift: TShiftState; X, Y: Integer);   private     md :boolean;     x0, y0 :integer;   end;var  Form1: TForm1;implementation{$R *.lfm}{ TForm1 }// panel mouseDownprocedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);begin  md := True;  x0 := x;  y0 := y;end;// button mouseDownprocedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);begin  md := True;  x0 := x;  y0 := y;end;// panel mouseMoveprocedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,  Y: Integer);begin  if md then  begin    Panel1.Left := Panel1.Left - x0 + x;    Panel1.Top := Panel1.Top - y0 + y;  end;end;// button mouseMoveprocedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,  Y: Integer);begin  if md then  begin    Button1.Left := Button1.Left - x0 + x;    Button1.Top := Button1.Top - y0 + y;  end;end;// panel mouseUpprocedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);begin  md := False;end;// button mouseUpprocedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);begin  md := False;end;end.


0 0
原创粉丝点击