TListBox1控件设置:
style:=lbOwnerDrawFixed
ItemHeight:=26;
////////
绘画代码:
procedure TListBox1.LstDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
    aPic:TPicture;
    aPicDisp:IPictureDisp;
    r:TRect;
begin
    ......
    //获得aPicDisp
    ......
    SetOlePicture(aPic,aPicDisp);
    r.left:=Rect.left+2;
    r.top:=Rect.Top+2;
    r.right:=r.left+19;
    r.bottom:=r.top+19;
    TListBox1.Canvas.StretchDraw(r,aPic.Graphic);
    ......
end;问题是:对同一个IPictureDisp变量绘制时,图像的高度一次比一次,第一次绘画时正常,图像高度为20,但第二次就变为40,第三次就是60....我查看了参数r和aPic的图像大小都是正常的,但为什么会发生这种状况呢?
谢谢.