大家再帮帮忙呀,
这个是我产生新panel的过程,
procedure TMainForm.Button1Click(Sender: TObject);
var i,u,x0:integer;
a:array of tpanel
begin
setlength(a,u);
x0:=50;
u:=strtoint(edit1.Text);
for i:=1 to u do
begin
a[i]:=tpanel.Create(self);
a[i].Parent:=self;
a[i].Enabled:=true;
a[i].Visible:=true;
a[i].Left:=x0;
a[i].Top :=100;
a[i].Width:=50;
x0:=x0+150+10;
end;
end;
这个是我自定义的移动panel的过程:
procedure TMainForm.ButtonMove(Sender: TObject;P:TPanel;Shift: TShiftState; X,Y: Integer);
begin
if (x>=0)and(x<=3) then
begin
if (y>=0)and(y<=3) then P.Cursor:=crSizeNWSE;
if (y>3)and(y<P.Height-3) then P.Cursor:=crSizeWE;
if (y>=P.Height-3)and(y<=P.Height) then P.Cursor:=crSizeNESW;
end
else if (x>3)and(x<P.Width-3) then
begin
if (y>=0)and(y<=3) then P.Cursor:=crSizeNS;
if (y>3)and(y<P.Height-3) then P.Cursor:=crArrow;
if (y>=P.Height-3)and(y<=P.Width) then P.Cursor:=crSizeNS;
end
else if (x>=P.Width-3)and(x<=P.Width) then
begin
if (y>=0)and(y<=3) then P.Cursor:=crSizeNESW;
if (y>3)and(y<P.Height-3) then P.Cursor:=crSizeWE;
if (y>=P.Height-3)and(y<=P.Width) then P.Cursor:=crSizeNWSE;
end;
end;
两个过程都可以实现功能的,
我想问的是该在什么地方调用这个过程才可以实现新产生的panel的移动呢?
[此贴子已经被作者于2007-3-20 14:04:02编辑过]