El método que te mencionan te servirá para arrastrar la ventana tomándola de alguna parte de su área cliente pero un panel no forma parte de ésta.
Una manera de mover la ventana,
tomándola de un panel, podría ser manejando los eventos OnMouseDown, OnMouseMove y OnMouseUp del panel.
Comienza declarando dos variables en tu formulario:
Código Delphi
[-]
type
TFrom1 = class(TForm)
private
DragPoint: TPoint;
Dragging: Boolean;
end;
DragPoint será el punto del panel desde donde arrastres la ventana y Dragging controlará si estás arrastrando o simplemente moviendo el mouse sobre el panel. Conforme desplaces el mouse deberás fijarte en la diferencia de las coordenadas con respecto de DragPoint y sumárselas a las propiedades Left y Top del formulario:
Código Delphi
[-]
procedure TForm1.Panel1MouseDown(...; X, Y: Integer);
begin
Dragging := true;
DragPoint := Point(X, Y);
end;
procedure TForm1.Panel1MouseMove(...; X, Y: Integer);
begin
if Dragging then
begin
Left := Left + X - DragPoint.X;
Top := Top + Y - DragPoint.Y;
end;
end;
procedure TForm1.Panel2MouseUp(...; Shift: TShiftState; X, Y: Integer);
begin
Dragging := false;
end;
// Saludos