读书人

paint重写为什么卡死?该如何解决

发布时间: 2012-04-11 17:42:33 作者: rapoo

paint重写为什么卡死?

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图片写字,但是这样写之后,一运行就卡死?为什么

[解决办法]
卡死的一般原因是,一边自己画自己,一边自己刷新,造成循环调用了,查下代码吧
[解决办法]
png的创建最好不要放到paint里,用creat来初始化创建,不然会反复创建与释放,给程序增加负担。

读书人网 >.NET

热点推荐