首页 > 解决方案 > 样式化页面控件上“翻转”到 RTL 的标题

问题描述

我使用 Delphi 10.3,一些样式(仅限 RAD)我编写从右到左的桌面应用程序。与“正常”的寡妇。

页面控件从左到右绘制标签页,像这样

在此处输入图像描述

但我希望页面控件从右到左绘制自己,就像这样

在此处输入图像描述

为此,我使用代码

procedure TMasterOfAllFrm.SetPageControlRightToLeft(PC : TPageControl);
const
  LVM_FIRST = $1000;
  LVM_GETHEADER = LVM_FIRST + 31;
var
  header: thandle;
begin
// START - to restore - open all lines
  header := SendMessage(PC.Handle, LVM_GETHEADER, 0, 0);
  SetWindowLong(header, GWL_EXSTYLE, GetWindowLong(header, GWL_EXSTYLE) or
    WS_EX_LAYOUTRTL or WS_EX_NOINHERITLAYOUT);

  SetWindowLong(PC.Handle, GWL_EXSTYLE, GetWindowLong(PC.Handle,
    GWL_EXSTYLE) or WS_EX_LAYOUTRTL or WS_EX_NOINHERITLAYOUT);
// END - to restore - open all lines
end;

它工作正常,但是当我使用 STYLE 时,标签页的标题是“翻转为镜像视图”,就像这样

在此处输入图像描述

我怎样才能旋转那个CAPTION,我试图翻转字体,从pagecontrol中删除[sefont],翻转字符串.... nada。没有成功。

有人有更好的主意吗?

标签: delphipagecontrol

解决方案


推荐阅读