新的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上运行此应用,则会得到:
查看标题-窗体标题根本不可见-字体大小太大并且标题区域超载。
如果我们在FormCreate上添加以下代码,则主应用程序和所有其他标题看起来都已磨损
StyleDPIAwareness := TStyleDPIAwareness.Create(Self);
StyleDPIAwareness.Parent := Self;
Form Caption高度上的TitleBar太大,并且字体可行,但我认为也太大。
第一个问题是我找不到设置窗口/窗体/标题字体大小,字体粗细甚至字体系列名称的方法。我们可以为窗体上的所有控件设置窗体的默认字体,但不能为窗体标题设置默认字体。
还有一种方法可以降低高dpi格式标题的增加高度-因此它不像现在那么大。
这在带有VCLStyles的Delphi 10.2中可以正常工作。具有或不具有VCLStyles的Delphi 10.3均无法使用。