如何让一个Label标签的caption上的文字一半显示一种字体,另外一半显示另外一种字体? 大家好,最近面试时遇到一个难题:如何让一个Label标签的Caption上的一部分文字显示为一种字体,另外一部分显示为另外一种字体?而且要写一个控件实现这种功能。请高手加入讨论,给些相关提示,信息和链接都行啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 delphi自带的Label好像不能,我觉得最简的方法是用两个Lable,并在一起 这样可以:设Label1的AutoSize为false设Label1的Caption为''设Label1的Width为100设Label1的Height为50然后用以下程序procedure TForm1.Button1Click(Sender: TObject);beginLabel1.Canvas.TextOut(10,10,'aaa');Label1.Canvas.Font.Name:='黑体';Label1.Canvas.Font.Size:=20;Label1.Canvas.TextOut(50,10,'aaa');label1.Update;end; 以下是完整的程序,你可以看看效果:procedure TForm1.Button1Click(Sender: TObject);beginLabel1.AutoSize:=false;Label1.Caption:='';Label1.Width:=120;Label1.Height:=80;Label1.Update;Label1.Canvas.Font.Name:='宋体';Label1.Canvas.Font.Size:=12;Label1.Canvas.TextOut(10,10,'我们');Label1.Canvas.Font.Name:='黑体';Label1.Canvas.Font.Size:=20;Label1.Canvas.TextOut(50,10,'你们');end; 两个label连在一起就可以了啊 keiy() 提供的方法最小化恢复后字就没有了,怎么解决? 办法不是没有,变通一下,这样label1永远有效procedure TForm1.FormCreate(Sender: TObject);beginLabel1.AutoSize:=false;Label1.Visible:=false;Label1.Caption:='';Label1.Width:=120;Label1.Height:=80;end; 少贴部分程序procedure TForm1.FormCreate(Sender: TObject);beginLabel1.AutoSize:=false;Label1.Visible:=false;Label1.Caption:='';Label1.Width:=120;Label1.Height:=80;end;procedure TForm1.FormPaint(Sender: TObject);beginLabel1.Canvas.Brush.Color:=color;Label1.Canvas.Font.Name:='宋体';Label1.Canvas.Font.Size:=12;Label1.Canvas.TextOut(10,10,'我们');Label1.Canvas.Font.Name:='黑体';Label1.Canvas.Font.Size:=20;Label1.Canvas.TextOut(50,10,'你们');end; 我在d6下测试没问题,(在FormCreate里设lable的参数,在FormPaint中显示)当然,用第三方控件也是一种选择 paramstr的值可以動態設定嗎? 怎么判断一个字符串中含有某某字符呢? 请教高手一个关于数据库操作的问题~~~~~~~在线等 一个image,在它上面的Canvas上绘图,如何当绘图较大时,能加上滚动条? 到那里去下载IIS 6.0 怎样在edit中实现默认大写字符输入!!! 狂简单的问题,如何读取某文件的指定行?? 如何调用explorer进行拷贝粘贴 一个关于继承的问题 在delphi里怎么调用网络拨号?????急!!!!!!! 关于dbgrideh的一个小问题~~ 一个关于delphi怎样写网址的问题?
设Label1的AutoSize为false
设Label1的Caption为''
设Label1的Width为100
设Label1的Height为50
然后用以下程序
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Canvas.TextOut(10,10,'aaa');
Label1.Canvas.Font.Name:='黑体';
Label1.Canvas.Font.Size:=20;
Label1.Canvas.TextOut(50,10,'aaa');
label1.Update;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.AutoSize:=false;
Label1.Caption:='';
Label1.Width:=120;
Label1.Height:=80;
Label1.Update;
Label1.Canvas.Font.Name:='宋体';
Label1.Canvas.Font.Size:=12;
Label1.Canvas.TextOut(10,10,'我们');
Label1.Canvas.Font.Name:='黑体';
Label1.Canvas.Font.Size:=20;
Label1.Canvas.TextOut(50,10,'你们');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.AutoSize:=false;
Label1.Visible:=false;
Label1.Caption:='';
Label1.Width:=120;
Label1.Height:=80;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.AutoSize:=false;
Label1.Visible:=false;
Label1.Caption:='';
Label1.Width:=120;
Label1.Height:=80;
end;procedure TForm1.FormPaint(Sender: TObject);
begin
Label1.Canvas.Brush.Color:=color;
Label1.Canvas.Font.Name:='宋体';
Label1.Canvas.Font.Size:=12;
Label1.Canvas.TextOut(10,10,'我们');
Label1.Canvas.Font.Name:='黑体';
Label1.Canvas.Font.Size:=20;
Label1.Canvas.TextOut(50,10,'你们');end;
当然,用第三方控件也是一种选择