怎样把一ListView的背景设置成一张图片?高手请指教
怎样把一ListView的背景设置成一张图片?高手请指教
[解决办法]
void __fastcall TForm1::ListView1CustomDraw(TCustomListView *Sender,
const TRect &ARect, bool &DefaultDraw)
{
Graphics::TBitmap *bitmap= new Graphics::TBitmap();
bitmap-> LoadFromFile( "c:\\back.bmp ");
ListView1-> Canvas-> Draw(0,0,bitmap);
ListView1-> Color = clNone;
SetBkMode(ListView1-> Canvas-> Handle,TRANSPARENT);
ListView1-> Perform(LVM_SETBKCOLOR ,0,CLR_NONE);
ListView1-> Perform(LVM_SETTEXTBKCOLOR,0,CLR_NONE);
delete bitmap;
}
//---------------------------------------
[解决办法]
正如楼上代码,自画就可以实现。不过,考虑到效率方面的问题,可以定义一个全局的TBitmap对象,在程序初始化时创建对象,将图片读入(或者从资源中读入),在程序结束时释放资源。这样省得每次绘制ListView都要从硬盘上读取文件。