Supongo que existirá una función maravillosa que te devuelva la posición, pero como no la se, puede que esto te sirva
Código Delphi
[-]
function Posicion(Control: TControl): Integer;
var
i: Integer;
begin
Result:= -1;
if Control.Parent <> nil then
begin
for i:= 0 to Control.Parent.ControlCount - 1 do
if Control = Control.Parent.Controls[i] then
begin
Result:= i;
break;
end;
end;
end;
ShowMessage(IntToStr(Posicion(Panel1)));
Ahora seguro que viene roman y me dice que existe un IndexOf o algo así