Also ich weiß nicht ob ich dich richtig verstehe. Erstens hat Panel TWinControl und zweitens, hier dieses Beispiel funktioniert wunderbar. Ich erzeuge ein Button auf dem Panel und verschiebe das Panel mit gedrückter Maus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Button: TButton;
begin
Button := TButton.Create(Panel1);
Button.Left := 10;
Button.Top := 10;
Button.Width := 44;
Button.Height := 22;
Button.Parent := Panel1;
end;
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then
begin
ReleaseCapture;
Panel1.Perform(WM_NCLBUTTONDOWN, HTCAPTION, varEmpty);
end;
end;