+ -
当前位置:首页 → 问答吧 → paint重写为什么卡死?

paint重写为什么卡死?

时间:2011-11-02

来源:互联网

Delphi(Pascal) code

 procedure TImageButton.paint;
 var
   png: TPngImage;
 begin
   inherited;
   png := TPngImage.Create;
   png.Assign(Picture);
   with png do
   begin
     Canvas.Font := Self.Font;
     Canvas.Brush.Style := bsClear;
   end;
   png.Canvas.TextOut(0, 0, FCaption);
   Picture.Assign(png);
   png.Free;
 end;



想对image里的png图片写字,但是这样写之后,一运行就卡死?为什么

作者: lwsxln   发布时间: 2011-11-02

卡死的一般原因是,一边自己画自己,一边自己刷新,造成循环调用了,查下代码吧

作者: funxu   发布时间: 2011-11-02

png的创建最好不要放到paint里,用creat来初始化创建,不然会反复创建与释放,给程序增加负担。

作者: jdbca   发布时间: 2011-11-02