请各位高手提供··两份VB图像透明程序(包括详细过程和代码)!谢谢~~~

来源:百度知道 编辑:UC知道 时间:2024/05/07 05:12:50
用VB6.0程序编写,实现的功能如下:
第一种程序:设计一个图像框,里面可以加入图片,这块图片可以任意更换,再设置一条滑动条拉动(实现这块图片的透明程度:拉满就全透明)。透过它可以看见这个程序图片后面的东西,若拉动这个程序标题栏,就像从移动的车里的玻璃往外看一样。

第二种程序(类似于第一种程序):设计一个大的图片框,框里的图片可以任意更换,但加入的图片要会自动调整大小去适应图片框的大小。然后在外面设置一块小的纯蓝色或纯黑色的图片,再设置一条滑动条拉动(实现透明程度:拉满小色素块就全透明了)。再用鼠标点击这块蓝色图片后,这时鼠标便变成这个小蓝色图片。当把这个蓝色小图片移进图片框时,便可以透过这蓝色小图片看见图片框里的内容。

初学中,本人在线等~~~~
谢谢各位热心人士~~~
这是我全部的积分,谢谢大家了~~~~

我懒,只做了第一道题,借鉴 0871love的透明模块,因为我测试的结果是透明模块只针对form窗体,所以偷梁换柱了一把,能基本满足要求,不过还需要你自己修改。

首先 建一个模块:
'透明效果
Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Public Const WS_EX_LAYERED = &H80000
Public Const GWL_EXSTYLE = (-20)
Public Const LWA_ALPHA = &H2
Public Const LWA_COLORKEY = &H1
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

'窗体最前
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)