已经告诉你参考TImage.Paint了procedure TImage.Paint; var Save: Boolean; begin if csDesigning in ComponentState then with inherited Canvas do begin // 如果是设计期,就画虚框 Pen.Style := psDash; Brush.Style := bsClear; Rectangle(0, 0, Width, Height); end; Save := FDrawing; FDrawing := True; try with inherited Canvas do StretchDraw(DestRect, Picture.Graphic); finally FDrawing := Save; end; end;
如果要运行期的话,去掉这个判断“if csDesigning in ComponentState then”
var
Save: Boolean;
begin
if csDesigning in ComponentState then
with inherited Canvas do
begin
// 如果是设计期,就画虚框
Pen.Style := psDash;
Brush.Style := bsClear;
Rectangle(0, 0, Width, Height);
end;
Save := FDrawing;
FDrawing := True;
try
with inherited Canvas do
StretchDraw(DestRect, Picture.Graphic);
finally
FDrawing := Save;
end;
end;