虽然我做了一个透明的GIF,可放上去后还是不透明:(
解决方案 »
- 急救!!listbox问题,在具有焦点的text中插入字符!!得解立刻给分,在线等!!
- VB如何写16进制文件??急!!!
- 有史以来最简单的简繁体相互转换SQL函数(送SQL代码共8行)
- 500分求解:怎样用vb调用icdecompress 等vfw函数回放使用xvid压缩的视频?
- picture的print问题
- 关于MDI的小问题,请各位高手帮忙
- 誰有將小寫金額轉換成英文讀法的函數?分不夠可以加喔...
- 奇怪的现象:使用ESC键退出时,用Msgbox居然要判断2次?----请大家试试看。
- 请问谁有现成的EMAIL通讯簿程序?像ACDSEE 3.1附带的那个EMAIL插件一样!
- 请教高手
- 急!有谁知道在win98下,打印机的工作队列最多可有多少项任务?
- VB 难道真的处理不了吗?累死我了!!!!!
Option ExplicitPrivate Type TRIVERTEX
X As Long
y As Long
Red As Integer
Green As Integer
Blue As Integer
Alpha As Integer
End Type
Private Type GRADIENT_RECT
UpperLeft As Long
LowerRight As Long
End TypePrivate Type BLENDFUNCTION
BlendOp As Byte
BlendFlags As Byte
SourceConstantAlpha As Byte
AlphaFormat As Byte
End TypePrivate Type GRADIENT_TRIANGLE
Vertex1 As Long
Vertex2 As Long
Vertex3 As Long
End TypeConst GRADIENT_FILL_RECT_H As Long = &H0
Const GRADIENT_FILL_RECT_V As Long = &H1
Const GRADIENT_FILL_TRIANGLE As Long = &H2
Const GRADIENT_FILL_OP_FLAG As Long = &HFF
Const AC_SRC_OVER = &H0Private Declare Function TransparentBlt Lib "msimg32.dll" _
(ByVal hdcDest As Long, ByVal nXOriginDest As Long, ByVal _
nYOriginDest As Long, ByVal nWidthDest As Long, ByVal _
nHeightDest As Long, ByVal hdcSrc As Long, ByVal nXOriginSrc _
As Long, ByVal nYOriginSrc As Long, ByVal nWidthSrc As Long, _
ByVal nHeightSrc As Long, ByVal crTransparent As Long) As LongPrivate Declare Function GradientFillRect Lib "msimg32" _
Alias "GradientFill" (ByVal hdc As Long, pVertex As TRIVERTEX, _
ByVal dwNumVertex As Long, pMesh As GRADIENT_RECT, ByVal _
dwNumMesh As Long, ByVal dwMode As Long) As Long
Private Declare Function GradientFillTri Lib "msimg32" _
Alias "GradientFill" (ByVal hdc As Long, pVertex As TRIVERTEX, _
ByVal dwNumVertex As Long, pMesh As GRADIENT_TRIANGLE, ByVal _
dwNumMesh As Long, ByVal dwMode As Long) As LongPrivate Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As LongPrivate Function SysPath() As String '获得System目录
Dim S As String * 80
Dim Length As Long
Length = GetSystemDirectory(S, Len(S))
SysPath = Left(S, Length)
End FunctionPrivate Function ExistDll() As Boolean '检查是否存在Msimg32.dll
If Dir(SysPath & "\msimg32.dll") <> "" Then
ExistDll = True
ElseIf Dir(SysPath & "32\msimg32.dll") <> "" Then
ExistDll = True
Else
MsgBox "请确认Msimg32.dll存在与Windows系统路径下!", vbCritical + vbOKOnly, "注意"
ExistDll = False
End If
End FunctionPublic Sub TransparentCopy _
(ByVal hdcDest As Long, ByVal nXOriginDest As Long, ByVal _
nYOriginDest As Long, ByVal nWidthDest As Long, ByVal _
nHeightDest As Long, ByVal hdcSrc As Long, ByVal nXOriginSrc _
As Long, ByVal nYOriginSrc As Long, ByVal nWidthSrc As Long, _
ByVal nHeightSrc As Long, ByVal crTransparent As Long) '带有屏蔽色的拷贝DC
'参数crTansparent是欲屏蔽的颜色的GRB值
Dim rc As Long
rc = TransparentBlt(hdcDest, nXOriginDest, nYOriginDest, nWidthDest, nHeightDest, hdcSrc, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc, crTransparent)
End Sub