L
Leehawk
Unregistered / Unconfirmed
GUEST, unregistred user!
如果是直接画在Form上的线条或文字,在OnPaint里再重新调用一下就可以重画。但画在Panel上的呢。我试过在Form.OnPaint里重新调用,写上的文字还是被擦除了。
type
tpnl=class(TPanel)
end;
.........
procedure TForm1.btn1Click(Sender: TObject);
begin
tpnl(pnl1).Canvas.Pen.Color:= clRed;
tpnl(pnl1).Canvas.TextOut(0, 0, 'sss');
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
btn1Click(Self);
end;
如果这样不行,还有什么方法?
type
tpnl=class(TPanel)
end;
.........
procedure TForm1.btn1Click(Sender: TObject);
begin
tpnl(pnl1).Canvas.Pen.Color:= clRed;
tpnl(pnl1).Canvas.TextOut(0, 0, 'sss');
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
btn1Click(Self);
end;
如果这样不行,还有什么方法?