unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, ComCtrls, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
PageControl1: TPageControl;
Panel1: TPanel;
TabSheet1: TTabSheet;
procedure Button1Click(Sender: TObject);
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
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
oldX, oldY, isMove, isTop : Integer;
implementation
{ TForm1 }
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
oldX := X;
oldY := Y;
isMove := 1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if isTop = 0 then begin
Panel1.SendToBack;
isTop := 1;
end
else if isTop = 1 then begin
PageControl1.SendToBack;
isTop := 0;
end;
end;
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if isMove = 1 then begin
Panel1.Left := Panel1.Left + X - oldX;
Panel1.Top := Panel1.Top + Y - oldY;
end;
end;
procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
isMove := 0;
end;
initialization
{$I unit1.lrs}
end.
I add some lines of code, may be it help. Sorry for my English