HIGH DPI,Delphi 10.3和VCLStyles SKIN上的窗体/窗口标题有问题

时间:2019-04-05 16:01:28

标签: delphi vcl-styles

新的Delphi 10.3项目 Applicaton-清单-启用运行时主题,每个Monitor v2的DPI意识(默认)

Project uses
Vcl.Styles,
Vcl.Styles.Hooks,
Vcl.Styles.Utils.Forms,
Vcl.Styles.Utils.StdCtrls,
Vcl.Styles.Utils.ComCtrls,
Vcl.Styles.Utils.ScreenTips,
Vcl.Styles.Utils.SysControls,
Vcl.Styles.Utils.SysStyleHook,
Vcl.Styles.Utils.Shadow,
Vcl.Styles.FormStyleHooks

MainForm具有

procedure TForm24.FormCreate(Sender: TObject);
      var Style    : TStyleManager.TStyleServicesHandle;
begin
  self.font := screen.iconfont;
  self.PixelsPerInch := screen.PixelsPerInch;
  style:=TStyleManager.LoadFromFile(extractfilepath(paramstr(0))+'Dark Outlet Media.vsf');
  tstylemanager.SetStyle(style);
end;

首先,如果我们在HIGH DPI上运行此应用,则会得到:

Look at the caption

查看标题-窗体标题根本不可见-字体大小太大并且标题区域超载。

如果我们在FormCreate上添加以下代码,则主应用程序和所有其他标题看起来都已磨损

StyleDPIAwareness := TStyleDPIAwareness.Create(Self);
StyleDPIAwareness.Parent := Self;

enter image description here

Form Caption高度上的TitleBar太大,并且字体可行,但我认为也太大。

第一个问题是我找不到设置窗口/窗体/标题字体大小,字体粗细甚至字体系列名称的方法。我们可以为窗体上的所有控件设置窗体的默认字体,但不能为窗体标题设置默认字体。

还有一种方法可以降低高dpi格式标题的增加高度-因此它不像现在那么大。

这在带有VCLStyles的Delphi 10.2中可以正常工作。具有或不具有VCLStyles的Delphi 10.3均无法使用。

0 个答案:

没有答案