【话题】Delphi Canvas属性问题
2009-08-27 09:43:15 来自:心晴才美丽 浏览数:51次
实例代码如下:
Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);
begin
self.Canvas.Pen.Color := clRed;
self.Canvas.Pen.Width := 2;
self.Canvas.MoveTo(10,10);
self.Canvas.LineTo(100,100);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
self.Canvas.Brush.Color := clYellow;
self.Canvas.FillRect(ClientRect);
self.Canvas.TextOut(100,100,'wo love you');
self.Font.Size := 30;
self.Font.Color := clBlue;
end;
为什么Button2要点击两下才能显示效果?
更多相关的话题
shiyicong回复于27日09点56分
HX 兄說得對
暈, 我還翠為沒有及時重繪呢,原來是設置的窗體的不是畫布的。
popjw6回复于27日10点07分
先设字体颜色,再输出文字,顺序反了
实验学子回复于27日10点17分
執行後就 refresh or paint or invalidate 下。
因為還沒來得及重繪
黄凯鑫回复于27日10点27分
@Bear_hx :"你是改变Self.Font会导致的"这句话我没太理解,能再说明白点吗?
lisiman11回复于27日10点35分
啊...才看到starluck兄问候,失礼。最近事务特忙,每天都在为一些鸡毛蒜皮的小事务耗费着生命
ygl_2008003回复于27日10点44分
下午没上CSDN了,改变Self.Font会导致重画的。
托也难做啊回复于27日10点54分
刚开始没看出来,亲自试了一下,你是改变Self.Font会导致的,改成下面的代码就可以了Delphi(Pascal) code procedure TForm1.btn1Click(Sender: TObject); begin Self.Canvas.Pen.Color := clRed; Self.Canvas.Pen.Width := 2; Self.Canvas.MoveTo(10,10); Self.Canvas.LineTo(100,100); end; procedure TForm1.btn2Click(Sender: TObject); begin Self.Canvas.Brush.Color := clYellow; Self.Canvas.Font.Size := 30; Self.Canvas.Font.Color := clBlue; Self.Canvas.FillRect(ClientRect); Self.Canvas.TextOut(100,100,'wo love you'); end;
LOVE嘟嘟回复于27日11点03分
Delphi(Pascal) code procedure TForm1.Button2Click(Sender: TObject); begin self.Canvas.Brush.Color := clYellow; self.Canvas.FillRect(ClientRect); Self.Canvas.Font.Size := 30; Self.Canvas.Font.Color := clBlue; self.Canvas.TextOut(100,100,'wo love you'); end;
jack01hi回复于27日11点11分
华仔版主非常称职,赞一个。
bbmzfx回复于27日11点20分
立華最近去哪了?? 好久沒見到了。