Z zleo Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-14 #1 比如对imagelist中index为2的图片加个边框,但不能把这个图片先删除再insert 修改后的,这样会引起引用它的listview重画
一 一个过客 Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-16 #3 建议你换一个想法。不要修改imagelist的东西,需要的时候把图片从imagelist取出 到一个临时图片,然后在临时图片上添加你需要的东西,再画到你的目标设备上, 代码类似于: procedure XXX.OnOwnerDraw(ACanvase:TCanvas) var bmp:tbitmap; begin bmp:=tbitmap.create; imagelist.getbitmap(0,bmp); bmp.fillrect(....); ACanvas.draw(...,...,bmp); bmp.free; end;
建议你换一个想法。不要修改imagelist的东西,需要的时候把图片从imagelist取出 到一个临时图片,然后在临时图片上添加你需要的东西,再画到你的目标设备上, 代码类似于: procedure XXX.OnOwnerDraw(ACanvase:TCanvas) var bmp:tbitmap; begin bmp:=tbitmap.create; imagelist.getbitmap(0,bmp); bmp.fillrect(....); ACanvas.draw(...,...,bmp); bmp.free; end;