我遇到了一个问题,在具有更高DPI设置的Windows系统上的Firemonkey应用程序中,所有控件上的加速键关键字都没有正确呈现(离文本太远)。我附上了一个屏幕截图来演示问题。 有谁知道如何解决这一问题? 我正在使用Delphi 10.2和Update 1。
答案 0 :(得分:-1)
自己找到了解决办法。
在FMX.Objects.pas中替换(第4472行)
LBaseline := TFontGlyphManager.Current.GetBaseline(ALayout.Font, ACanvas.Scale);
与
LBaseline := TFontGlyphManager.Current.GetBaseline(ALayout.Font, 1);
和(第4483,4484行)
FUnderlineBeginPoint.Y := Ceil(FUnderlineBeginPoint.Y) + 1.5;
FUnderlineEndPoint.Y := Ceil(FUnderlineEndPoint.Y) + 1.5;
与
FUnderlineBeginPoint.Y := Ceil(FUnderlineBeginPoint.Y) + 1.5 * ACanvas.Scale;
FUnderlineEndPoint.Y := Ceil(FUnderlineEndPoint.Y) + 1.5 * ACanvas.Scale;