Delphi7中的一个Bug问题

在Delphi7中,预先给SpeedButton或RadioButton定义字体变换选项(如宋体,黑体,楷体),这时候我在Label中写入汉字(想通过选择SpeedBut... 在Delphi7中,预先给SpeedButton或RadioButton定义字体变换选项(如宋体,黑体,楷体),这时候我在Label中写入汉字(想通过选择SpeedButton或RadioButton定义的字体)变化,会发现字体自动缩小。如果我给字体设置初始字形、字体,则利用SpeedButton或RadioButton定义字体变换就会失效。
具体程序如下:
procedure TLXFrm307.SpeedButton1Click(Sender: TObject);
begin
label1.Font.Name:='宋体';
end;

procedure TLXFrm307.SpeedButton2Click(Sender: TObject);
begin
label1.Font.Name:='隶书';
end;

procedure TLXFrm307.SpeedButton3Click(Sender: TObject);
begin
label1.Font.Name:='黑体';
end;

procedure TLXFrm307.SpeedButton4Click(Sender: TObject);
begin
label1.Font.Name:='楷体';
end;
procedure TLXFrm307.SpeedButton5Click(Sender: TObject);
begin
if SpeedButton5.Down then
label1.Font.Style:=label1.Font.Style+[fsBold]
else
label1.Font.Style:=label1.Font.Style-[fsBold];
end;

procedure TLXFrm307.SpeedButton6Click(Sender: TObject);
begin
if SpeedButton6.Down then
label1.Font.Style:=label1.Font.Style+[fsItalic]
else
label1.Font.Style:=label1.Font.Style-[fsItalic];
end;
procedure TLXFrm307.SpeedButton7Click(Sender: TObject);
begin
if SpeedButton7.Down then
label1.Font.Style:=label1.Font.Style+[fsunderline]
else
label1.Font.Style:=label1.Font.Style-[fsunderline];
end;

end.
展开
 我来答
Vorlons
2014-04-17 · TA获得超过199个赞
知道小有建树答主
回答量:390
采纳率:0%
帮助的人:300万
展开全部
这个原因在于字体的字符集设置上。
同样的文字内容,在西欧语言字符集和GB2132的设置下,显示大小是不一样的。

这个也是常见的老问题,即如果使用默认的字符集(西欧语言),

编译出来的程序在不同的操作系统字体设置下会乱,特别是操作系统设置了不同的字体大小时。

简单的解决办法就是把字体的字符集全部设置成 GB2132_CHARSET
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式