diff --git a/lcl/comctrls.pp b/lcl/comctrls.pp index e7da9ccfe2..a28b185abc 100644 --- a/lcl/comctrls.pp +++ b/lcl/comctrls.pp @@ -839,7 +839,6 @@ type procedure AdjustDisplayRectWithBorder(var ARect: TRect); virtual; procedure AdjustClientRect(var ARect: TRect); override; function CreateTabNoteBookStrings: TTabControlNoteBookStrings; virtual; - function GetClientOrigin: TPoint; override; public constructor Create(TheOwner: TComponent); override; destructor Destroy; override; diff --git a/lcl/include/tabcontrol.inc b/lcl/include/tabcontrol.inc index c75a8ab64e..dde6cd41b9 100644 --- a/lcl/include/tabcontrol.inc +++ b/lcl/include/tabcontrol.inc @@ -758,11 +758,6 @@ begin Result := TTabControlNoteBookStrings.Create(Self); end; -function TTabControl.GetClientOrigin: TPoint; -begin - Result := TTabControlNoteBookStrings(FTabs).FNoteBook.ClientOrigin; -end; - constructor TTabControl.Create(TheOwner: TComponent); begin FTabControlCreating:=true; @@ -794,13 +789,17 @@ begin end; function TTabControl.IndexOfTabAt(X, Y: Integer): Integer; +var + Offs: TPoint; begin - Result:=TTabControlStrings(FTabs).IndexOfTabAt(X,Y); + Offs := TTabControlNoteBookStrings(FTabs).FNoteBook.ClientOrigin; + Offs := Offs.Subtract(ClientOrigin); + Result:=TTabControlStrings(FTabs).IndexOfTabAt(X-Offs.X, Y-Offs.Y); end; function TTabControl.IndexOfTabAt(P: TPoint): Integer; begin - Result:=TTabControlStrings(FTabs).IndexOfTabAt(P.x, P.y); + Result:=IndexOfTabAt(P.x, P.y); end; function TTabControl.GetHitTestInfoAt(X, Y: Integer): THitTests;