Runtime esnasında bir tane pagecontrol üzerine timage create ettiriyorum. Bu image'ın pagecontrol üzerinden Mouse ile alıp aynı form üzerindeki panele Tshape taşır gibi taşımak istiyorum ancak image'ı taşımaya başladığımda formun en başına gidiyor nasıl yapabilirim. Nerede yanlış var?
Kod: Tümünü seç
procedure tform2.imgmousedown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
move:=true;
TImage(Sender).BeginDrag(true);
//showmessage(TImage(Sender).name);
pt1.x:=X;
pt1.Y:=Y;
timage(sender).Parent:=form2;
timage(sender).BringToFront;
end;
procedure TForm2.MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
move:=false;
end;
procedure TForm2.DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
accept:= sender is timage
end;
procedure TForm2.MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if move= true then
begin
if x>pt1.x then timage(sender).Left := mouse.cursorpos.x+(x-pt1.X);
if x<pt1.x then timage(sender).Left := mouse.cursorpos.x+x+pt1.X);
if y>pt1.y then timage(sender).top := mouse.cursorpos.y+y-pt1.y);
if y<pt1.y then timage(sender).top := mouse.cursorpos.y+y+pt1.y);
end;
end;