Ich hab mir die beiden Funktionen letztens selbst geschrieben um das Problem zu lösen. Durchlaufe einfach rekursiv nach oben, bis der Parent eine TForm ist. Obs jetzt der beste Weg ist weiß ich nicht, aber es hat seinen Zweck erfüllt.
Delphi-Quellcode:
function GetCompleteHeight(ChildComponent: TWinControl): Integer;
begin
if (ChildComponent.HasParent AND (ChildComponent.Parent.ClassType <> TForm)) then
Result := GetCompleteHeight(ChildComponent.Parent) + ChildComponent.Top
else Result := 0;
end;
function GetCompleteLeftPos(ChildComponent: TWinControl): Integer;
begin
if (ChildComponent.HasParent AND (ChildComponent.Parent.ClassType <> TForm)) then
Result := GetCompleteLeftPos(ChildComponent.Parent) + ChildComponent.Left
else Result := 0;
end;