⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 动态改变PANEL的演示代码
💻 PAS
字号:
{本源码是自由程序,你可以把它用在任何地方,但不允许以任何形式把它单独用作商业用途。

本人是一个普通的打工仔,为了给朋友们献上更好的源码和控件,我需要你的支持,如果你认为本程序对你有帮助,希望你寄任意你原意数额的RMB给我以资鼓励和支持,如果你认为不值,也希望你寄一张PostCard或者一封Email对我予以支持。

深圳市福田区联合广场41楼恒星威电子有限公司GPS部 艾真保  收
518026

mailto:Aizb@163.net

HomePage:
  http://vip.6to23.com/aizb}

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    OldPoint:TPoint;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
Var iL,iT,iW,iH:Integer;
begin
  iL:=Panel1.Left;
  iT:=Panel1.Top;
  iW:=Panel1.Width;
  iH:=Panel1.Height;
  if X>Panel1.Left+Panel1.Width then
  begin
    iL:=Panel1.Left;
    iW:=X-Panel1.Left;
  end;
  if y>Panel1.Top+Panel1.Height then
  begin
    iT:=Panel1.Top;
    iH:=Y-Panel1.Top;
  end;
  if X<Panel1.Left then
  begin
    iL:=x;
    iW:=Panel1.Left+Panel1.Width-x;
  end;
  if y<Panel1.Top then
  begin
    iT:=Y;
    iH:=Panel1.Top+Panel1.Height-y;
  end;
  if (X>Panel1.Left) and (X<Panel1.Left+Panel1.Width) then
  begin
    if x<OldPoint.X then
    begin
      iL:=Panel1.Left;
      iW:=X-Panel1.Left;
    end else
    begin
      iL:=x;
      iW:=Panel1.Left+Panel1.Width-x;
    end;
  end;
  if (y>Panel1.top) and (y<Panel1.Top+Panel1.Height) then
  begin
    if y<OldPoint.y then
    begin
      iT:=Panel1.Top;
      iH:=y-Panel1.Top;
    end else
    begin
      iT:=Y;
      iH:=Panel1.Top+Panel1.Height-Y;
    end;
  end;

  Panel1.SetBounds(iL,iT,iW,iH);
  OldPoint:=Point(x,y);
end;

procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
Var pPoint:TPoint;
begin
  pPoint:=Point(x,y);
  pPoint.X:=Panel1.Left+X;
  pPoint.Y:=Panel1.Top+y;
  FormMouseMove(Form1,Shift,pPoint.x,pPoint.Y);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -