Merged revision(s) 65395-65396 #77bfe9b324-#77bfe9b324 from trunk:

TPageControl: QT5: Fixed PageControl.GetTabRect, see project Issue #39166
........
TPageControl: QT: Fixed PageControl.GetTabRect, see project Issue #39166
........

git-svn-id: branches/fixes_2_2@65433 -
This commit is contained in:
maxim 2021-07-09 20:37:17 +00:00
parent e790fe99ab
commit d076d25f01
2 changed files with 8 additions and 4 deletions

View File

@ -441,17 +441,19 @@ class function TQtWSCustomTabControl.GetTabRect(const ATabControl: TCustomTabCon
const AIndex: Integer): TRect;
var
TabWidget: TQtTabWidget;
Offs: TRect;
begin
Result := Rect(-1, -1, -1, -1);
if not WSCheckHandleAllocated(ATabControl, 'GetTabRect') then
Exit;
TabWidget := TQtTabWidget(ATabControl.Handle);
Offs := TabWidget.getGeometry;
Result := TabWidget.TabBar.GetTabRect(AIndex);
case ATabControl.TabPosition of
tpTop: OffsetRect(Result, 0, -Result.Bottom);
tpLeft: OffsetRect(Result, -Result.Right, 0);
tpRight: OffsetRect(Result, Result.Left, 0);
tpBottom: OffsetRect(Result, Result.Top, 0);
tpRight: OffsetRect(Result, Offs.Width - Result.Right, 0);
tpBottom: OffsetRect(Result, 0, Offs.Height - Result.Bottom);
end;
end;

View File

@ -442,17 +442,19 @@ class function TQtWSCustomTabControl.GetTabRect(const ATabControl: TCustomTabCon
const AIndex: Integer): TRect;
var
TabWidget: TQtTabWidget;
Offs: TRect;
begin
Result := Rect(-1, -1, -1, -1);
if not WSCheckHandleAllocated(ATabControl, 'GetTabRect') then
Exit;
TabWidget := TQtTabWidget(ATabControl.Handle);
Offs := TabWidget.getGeometry;
Result := TabWidget.TabBar.GetTabRect(AIndex);
case ATabControl.TabPosition of
tpTop: OffsetRect(Result, 0, -Result.Bottom);
tpLeft: OffsetRect(Result, -Result.Right, 0);
tpRight: OffsetRect(Result, Result.Left, 0);
tpBottom: OffsetRect(Result, Result.Top, 0);
tpRight: OffsetRect(Result, Offs.Width - Result.Right, 0);
tpBottom: OffsetRect(Result, 0, Offs.Height - Result.Bottom);
end;
end;