大家看看这三句代码为什么会出现这样的情况

Linux2001 2002-01-23 09:00:10
Label1.Canvas.TextOut(0,0,'Linux2001');
Label1.Font.Color:=RGB(255,0,0);
Label1.Canvas.TextOut(1,1,'Linux2001');

为什么我要单击两次,Label控件上才会显出字呢
...全文
147 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
childbaby 2002-01-23
  • 打赏
  • 举报
回复
保证你绝对可以
Label1.canvas.Font.Color:=RGB(255,0,0);
Label1.Canvas.TextOut(0,0,'Linux2001');
ihihonline 2002-01-23
  • 打赏
  • 举报
回复
TO : Linux2001(准备升级中...) 
不需要那么复杂
1:
label1.Caption :='Linux2001';
Label1.canvas.Font.Color:=RGB(255,0,0);
Label1.Canvas.TextOut(2,2,'Linux2001');
2:
Label3.Canvas.TextOut(0,0,'Linux2001');
Label3.canvas.Font.Color:=RGB(255,0,0);
Label3.Canvas.TextOut(2,2,'Linux2001');
bigysw 2002-01-23
  • 打赏
  • 举报
回复
将 Label1.canvas.Font.Color:=RGB(255,0,0);
这句话提前初始化就行了。
然后像zswang(伴水)(需要充充电) 说的那样做!
juqiang 2002-01-23
  • 打赏
  • 举报
回复
using Repaint()
iBear 2002-01-23
  • 打赏
  • 举报
回复
在你进行canvas的操作后,最好刷新一下,结果才会显示出来
王集鹄 2002-01-23
  • 打赏
  • 举报
回复
//建议用两个TLabel
//否则你还要注意写重绘事件
//Label2在Label1下方
begin
Label1.Transparent := True;

Label2.Caption := Label1.Caption;
Label2.Font.Color := clRed;
Label2.Left := Label1.Left + 1;
Label2.Top := Label1.Top + 1;
end;
liuchang_wh 2002-01-23
  • 打赏
  • 举报
回复
同意楼上
sailerbai 2002-01-23
  • 打赏
  • 举报
回复
应该update或refresh一次
china_lyz 2002-01-23
  • 打赏
  • 举报
回复
Label1.Canvas.TextOut(0,0,'Linux2001');
Label1.canvas.Font.Color:=RGB(255,0,0);
Label1.Canvas.TextOut(1,1,'Linux2001');
halfdream 2002-01-23
  • 打赏
  • 举报
回复
其中
Label1.Font.Color:=RGB(255,0,0);
改成
Label1.Canvas.Font.Color:=RGB(255,0,0);
Linux2001 2002-01-23
  • 打赏
  • 举报
回复
代码已经全部贴上来了,我要的是打印出两种颜色的字,就是阴影字,前面一种颜色,后面一种颜色
greenspan 2002-01-23
  • 打赏
  • 举报
回复
我把Label1.Font.Color:=clRed;放在
TForm1.FormCreate(Sender: TObject);
begin
Label1.Font.Color:=clRed;
end;
就行了,我也不知道为什么?
panch 2002-01-23
  • 打赏
  • 举报
回复
你不如这样:
Label1.Canvas.Text="Linux2001";
kylincn 2002-01-23
  • 打赏
  • 举报
回复
把代码贴全看看!

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧