利用TTreeView组件的自绘功能,通过OnCustomDraw事件实现组件绘制,把TTreeView组件所覆盖的窗体背景图画到TTreeView组件上,达到透明效果
StretchBlt(tv1.Canvas.Handle,0,0,tv1.Width.arect.Bottom,image1.canvas.handle,0,0,arect.right,image1.picture.bitmap.height,srccopy);
请问该API函数里的参数代表什么,还有就是实现这种功能还有其他方法吗?谢谢!

解决方案 »

  1.   

    从网上摘抄了一部分:
    StretchBlt()win32 API函数说明    
    函数功能:函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩。     函数原型:BOOL StretchBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeighDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, DWORD dwRop);     参数:     hdcDest:指向目标设备环境的句柄。     nXOriginDest:指定目标矩形左上角的X轴坐标,按逻辑单位表示坐标。     nYOriginDest:指定目标矩形左上角的X轴坐标,按逻辑单位表示坐标。     nWidthDest:指定目标矩形的宽度,按逻辑单位表示宽度。     nHeightDest:指定目标矩形的高度,按逻辑单位表示高茺。     hdcSrc:指向源设备环境的句柄。     nXOriginSrc:指向源矩形区域左上角的X轴坐标,按逻辑单位表示坐标。     nYOriginSrc:指向源矩形区域左上角的Y轴坐标,按逻辑单位表示坐标。     nWidthSrc:指定源矩形的宽度,按逻辑单位表示宽度。     nHeightSrc:指定源矩形的高度,按逻辑单位表示高度。     dwRop:指定要进行的光栅操作。光栅操作码定义了系统如何在输出操作中组合颜色,这些操作包括刷子、源位图和目标位图等对象。参考BitBlt可了解常用的光栅操作码列表。     返回值:如果函数执行成功,那么返回值为非零,如果函数执行失败,那么返回值为零。Windows NT:若想获得更多的错误信息,请调用GetLastError函数。 另外BitBlt函数也可以实现
      

  2.   

    BitBlt函数在API函数群中是个很重要的角色,尤其在图像处理方面,更是不可或缺。其原意是“Bit   Block   Transfer”,用途是位图的复制。   
        
      使用BitBlt函数应先在模块中进行如下声明:     
        
      Declare   Function   BitBlt   Lib   “gdi32”   (ByVal   hDestDC   As   Long,   ByVal   X   As   Long,   ByVal   Y   As   Long,ByVal   nWidth   As   Long,   ByVal   nHeight   As   Long,   ByVal   hSrcDC   As   Long,   ByVal   xSrc   As   Long,   ByVal   ySrc   As   Long,   ByVal   dwRop   As   Long)   As   Long     
        
      各参数含义如下:     
        
      参数   含义     
        
      hDestDC   目标设备环境的handle(hDC)     
        
      X,Y   欲复制图形放置在目标设备     
        
      环境的位置(左上角坐标)     
        
      nWidth   欲复制图形的宽度     
        
      nHeight   欲复制图形的高度     
        
      hSrcDc   源设备环境的hDC     
        
      xSrc,ySrc   从源图形的(xSrc,ySrc)坐     
        
      标处开始复制     
        
      dwRop   图形从源设备环境复制到目标     
        
      设备环境时所做的逻辑运算。     
        
      总共有15种运算码,通常使用     
        
      SRCCOPY(&HCC0020),表     
        
      示直接复制。 BitBlt最常用的是用做位图的拷贝处理,即使用SRCCOPY的模式.   
      就是将这个区域的内容用另一个区域的内容代替.   
      这样的解释可能容易理解:BitBlt(dest,   dest的x,   dest的y,   dest的宽度,   dest的高度,   source,   source的x,   source的y,   SRCCOPY)   
      

  3.   

    PrintWindow 你有相近的功能。 本身你在查CSDN的時候他會把相近的功能的函數都列出來的。呵呵