VB中放置“透明”的图片 在VB中，如果你试着把一只有鸟的图片放到背景的一棵树上(鸟的图片为矩形)，你就会发现树会被鸟遮住一个矩形的区域。我们可以通过以下方法使图片上非鸟的其它部分变透明，利用一个WinAPI函数 BitBlt 对图形进行一系列的位操作来达到此目的。 函数声明： Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (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——目标设备环境；x——左上角；y——顶端；nWidth——宽；nHeight——高
源环境：hSrcDC——源设备环境；xSrc——源左上角；ySrc——源顶端；dwRop——位处理操作，如 vbSrcAnd；vbSrcAnd；vbSrcCopy；vbSrcErase；vbSrcInvert 等(目标环境或源环境只能是 Picture，Form 或 Printer 对象。各单位为像素)。
进行处理之前，我们需要对鸟的图片进行处理：先复制一份相同的图形，将其应该透明之处(鸟的背景)设置为黑色(设此图为sPic)，再将另一图做以下处理：要复制的地方(鸟)设置为黑色，其余地方设置(鸟的背景)为白色(设此图为Mask)。设树的图形为名dPic。最后，请加入以下代码：
R=BitBlt(dPic.hdc,0,0,sPic.Width ,sPic.Height,Mask.hdc, 0,0,vbScrCopy)
R=BitBlt(dPic.hdc,0,0,sPic.Width, sPic.Height,sPic.hdc, 0,0,vbScrInvert)
后记：
1．VB中的 PaintPicture 方法提供类似功能，但速度不及此方法；
2．此方法上稍微加入一些代码，就不难实现动画的显示。
3．VB例子中的CallDlls就使用此方法。

(卢云)