Hola
Seguro hay formas mas elegantes y más fáciles, pero así de repente tal vez te de una mejor idea.
Código Delphi
[-]
for i := 0 to componentCount - 1 do
begin
if components[i] is Tpanel then
ShowMessage(format('Se encontró %s', [components[i].Name]));
if components[i] is Tbutton then
begin
if (components[i] as tbutton).Parent is TPanel then
ShowMessage(format('Se encontró %s que pertenece a %s', [components[i].Name,
(components[i] as tbutton).Parent.Name]));
end;
end;
Saludos