VB如何使一张图片在控件里显示出半透明效果的问题.

来源:百度知道 编辑:UC知道 时间:2024/06/04 09:31:36
目标是一张32位带通道的BMP图像.
如果直接把图片放入控件里好像不能达到通道表示的效果.
请高人指导下怎样让VB使用图像里的通道.
最好能解释下每一关键步骤理由和作用..
代码早就有了,百度一下一堆...我想知道的是关键步骤的作用,理由......

下面的代码可以解决你的问题
直接复制就可以了
如还有问题发信给我 090900009@163.com

'-----------------------------
'使用说明:
'1.新建一个标准exe工程
'2.放置1个CommandButton 控件(使用默认名)
'3.把下面的代码复制进去就可以了
'-----------------------------
Option Explicit

'Transparancy API's
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Function UpdateLayeredWindow Lib "user32" (ByVal hWnd As Long, ByVal hdcDst As Long, pptDst As Any, psize As Any, ByVal hdcSrc As Long, pptSrc As Any, crKey As Long, ByVal pblend As Long, ByVal dwFlags As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal