可以响应控件的WM_PAINT消息;
var dc:HDC;rt:Trect;
begin
//获得当前控件的绘图设备
dc:=GetDc(handle);
//取得可绘图区域
rt:=GetClientRect;
//下面执行你的绘图操作,但是只能用windows api
//
//删除设备
deleteobject(dc);
end;
下面是我实际中用的一个过程
procedure TFeeLineEdit.procpaint(var msg: Tmessage);
var rt:Trect;mdc:HDC;ptpoint;
begin
inherited;
if not FunderLine then
exit;
mdc:=GetDc(handle);
rt:=GetClientRect;
new(pt);
movetoex(mdc,rt.Left+1,rt.Bottom-1,pt);
Lineto(mdc,rt.Right-1,rt.Bottom-1);
dispose(pt);
deleteobject(mdc);
end;