【发布时间】:2011-09-02 17:40:11
【问题描述】:
字体设置为 Arial Regular 16 的默认 TLabel 的简单演示如下所示。
点击按钮时的代码为:
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Font.Style := Label1.Font.Style + [fsItalic];
end;
当您单击按钮时,最后一个字符被截断,即:
默认情况下,TLAbel.AutoSize 为 true,所以应该没问题,对吧?这在 XE 和 Delphi 7 中是一样的。这是一个错误吗?
【问题讨论】:
-
我不相信这是一个 Delphi 错误,因为它只会影响 Arial。至少它不会影响更常用的 UI 字体的 Tahoma 或 Segoe UI。我的猜测是问题出在 Windows 或字体本身。
-
@Brian:请注意,您无需在运行时添加
fsItalic即可显示此问题。您可以在 IDE 中将FontStyle设置为[fsItalic]。 -
@andreas:我知道,谢谢。这是为了实现我使用的主题例程。
-
它看起来确实像 Windows 中的一个错误,因为当 AutoSize 为 true 时,Delphi 会要求操作系统扩展文本。结果似乎是错误的。
-
@Uwe:信不信由你,我认为你是对的。请参阅下面的实验。
标签: delphi fonts autosize italic tlabel