diff --git a/lcl/interfaces/qt5/qtpagecontrol.inc b/lcl/interfaces/qt5/qtpagecontrol.inc index 497d1f8248..422ab21512 100644 --- a/lcl/interfaces/qt5/qtpagecontrol.inc +++ b/lcl/interfaces/qt5/qtpagecontrol.inc @@ -88,7 +88,8 @@ class procedure TQtWSCustomPage.SetFont(const AWinControl: TWinControl; begin if not WSCheckHandleAllocated(AWinControl, 'SetFont') then Exit; - inherited SetFont(AWinControl, AFont); + TQtWSWinControl.SetFont(AWinControl, AFont); + UpdateTabFontColor(TCustomPage(AWinControl), AFont); end; diff --git a/lcl/interfaces/qt5/qtwidgets.pas b/lcl/interfaces/qt5/qtwidgets.pas index 730630ebdc..65ac151320 100644 --- a/lcl/interfaces/qt5/qtwidgets.pas +++ b/lcl/interfaces/qt5/qtwidgets.pas @@ -1920,6 +1920,7 @@ type FIcon: QIconH; function CreateWidget(const AParams: TCreateParams):QWidgetH; override; public + function CanPaintBackground: Boolean; override; function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override; function getIcon: QIconH; function getIndex(const ATextChanging: Boolean = False): Integer; @@ -18803,6 +18804,11 @@ begin Result := QWidget_create(Parent); end; +function TQtPage.CanPaintBackground: Boolean; +begin + Result := CanSendLCLMessage and (LCLObject.Color <> clDefault); +end; + function TQtPage.EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; var ASize: TSize; diff --git a/lcl/interfaces/qt5/qtwscomctrls.pp b/lcl/interfaces/qt5/qtwscomctrls.pp index 378e93198c..198a40745c 100644 --- a/lcl/interfaces/qt5/qtwscomctrls.pp +++ b/lcl/interfaces/qt5/qtwscomctrls.pp @@ -31,7 +31,7 @@ uses ComCtrls, Controls, LCLType, Graphics, StdCtrls, LCLIntf, Forms, ImgList, // Widgetset - WSProc, WSComCtrls, WSLCLClasses; + WSProc, WSComCtrls, WSLCLClasses, QtWSControls; type { TQtWSCustomPage } diff --git a/lcl/interfaces/qt6/qtpagecontrol.inc b/lcl/interfaces/qt6/qtpagecontrol.inc index e3e920da05..c3cfa80dcc 100644 --- a/lcl/interfaces/qt6/qtpagecontrol.inc +++ b/lcl/interfaces/qt6/qtpagecontrol.inc @@ -88,7 +88,8 @@ class procedure TQtWSCustomPage.SetFont(const AWinControl: TWinControl; begin if not WSCheckHandleAllocated(AWinControl, 'SetFont') then Exit; - inherited SetFont(AWinControl, AFont); + TQtWSWinControl.SetFont(AWinControl, AFont); + UpdateTabFontColor(TCustomPage(AWinControl), AFont); end; diff --git a/lcl/interfaces/qt6/qtwidgets.pas b/lcl/interfaces/qt6/qtwidgets.pas index bca7d6ad08..1edb98e456 100644 --- a/lcl/interfaces/qt6/qtwidgets.pas +++ b/lcl/interfaces/qt6/qtwidgets.pas @@ -1920,6 +1920,7 @@ type FIcon: QIconH; function CreateWidget(const AParams: TCreateParams):QWidgetH; override; public + function CanPaintBackground: Boolean; override; function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override; function getIcon: QIconH; function getIndex(const ATextChanging: Boolean = False): Integer; @@ -18720,6 +18721,11 @@ begin Result := QWidget_create(Parent); end; +function TQtPage.CanPaintBackground: Boolean; +begin + Result := CanSendLCLMessage and (LCLObject.Color <> clDefault); +end; + function TQtPage.EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; var ASize: TSize; diff --git a/lcl/interfaces/qt6/qtwscomctrls.pp b/lcl/interfaces/qt6/qtwscomctrls.pp index f107e1cbaa..496a3a79be 100644 --- a/lcl/interfaces/qt6/qtwscomctrls.pp +++ b/lcl/interfaces/qt6/qtwscomctrls.pp @@ -29,7 +29,7 @@ uses SysUtils, Classes, Types, ComCtrls, Controls, LCLType, Graphics, StdCtrls, LCLIntf, Forms, ImgList, // Widgetset - WSProc, WSComCtrls, WSLCLClasses; + WSProc, WSComCtrls, WSLCLClasses, QtWSControls; type { TQtWSCustomPage }