易截截图软件、单文件、免安装、纯绿色、仅160KB

VB无所不能之四:制作透明和半透明窗体

VB无所不能之四:制作透明和半透明窗体
 
——作者:钟声 
 
我们经常可以看到这样的窗体,觉得很炫,如图所示:
 
 
        同样,对Windows系统方面的编程似乎首先想到的绝对不是VB,而大部分程序员想到的一定是VC。
         其实,VB对于这个实现非常方便且简单,用到了“user32”中的SetLayeredWindowAttributes()函数。
 
SetLayeredWindowAttributes()函数介绍:
函数声明:
Declare Function SetLayeredWindowAttributes Lib "user32" () Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
hwnd是透明窗体的句柄,
crKey为颜色值,
bAlpha是透明度,取值范围是[0,255],
dwFlags是透明方式,可以取两个值:当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;
当取值为LWA_COLORKEY时,bAlpha参数有效而窗体中的所有颜色为crKey的地方将变为透明。
 
下面我们做两个实验:
 
第一个:做一个半透明窗体
 
步骤一:打开VB建立一个窗体Form
 
步骤二:将窗体背景颜色设为:&HFF0000
 
步骤三:将下面代码粘贴到程序中:
 
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" () Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" () Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function SetLayeredWindowAttributes Lib "user32" () Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Const WS_EX_LAYERED = &H80000
Const GWL_EXSTYLE = () Const GWL_EXSTYLE = (-20)
Private Const LWA_ALPHA = &H2
Private Const LWA_COLORKEY = &H1
Sub Form_Load() Sub Form_Load()
 &nb


相关文档:

VB中获得汉字的首音码(包含二级字库)

Option Explicit
'==================================================
' 函数: ReturnSM
'
' 功能: 返回字符串中没个字符的拼音声母第一个字母
'
' 注意: 该函数只能处理3755个常用汉字(B0 - D7)
' 若超出函数的范围将返回常数 ERR_RESULT$
'
' 入口: Str 待处理的字符串
'
Public Function ReturnSM$(ByVal S ......

vb标准(七):模块和过程

·创建具有很强内聚力的模块
·创建更加容易调试和维护的过程
·创建高度专用的过程
·创建松散连接的过程
·尽量使过程具有独立性
·提高过程的扇入性
·降低过程的扇出性
·编程原则
   ·为过程和模块赋予表义性强的名字
   &middo ......

采用VB编写的动态链接库(ActiveX DLL)

◆请由此确定是否被恶意修改◆
作者:我心飞翔
VB中引入本DLL的方法
方法一:选择“工程(P)”菜单下的“引用(N)”,在出现的对话框中点“浏览按钮”,并找到DLL所在位置。
方法二:分两步走
(1)注册动态链接库,使用regsvr32命令。在运行对话框中,输入“regsvr32  DLL完整路 ......

VB百例总结(1)

昨天晚上,米老师把我叫到办公室。问我学了一周感觉如何,我当时很汗颜。米老师身体不好,电脑版班么多学生,他可以让自己轻松一点儿,但他没有。作为几十个学生的免费老师,做为人父人夫,老师尚且知道我学了一周成果怎样呢,但我自己却没有想过,很惭愧。犯任何错误第一次可以原谅,但绝不应该让它出现第二次,学了一周, ......

VB Cstr和str/lable和test问题

1、关于吉大视频:1-3集讲VB程序设计的概述4-30集讲VB基础知识,如控件的使用31-64集讲ActiveX控件、数据库等的高级编程部分。
看的过程中注意快捷键的使用和截图工具的运用,看视频时将重点作出标注。
2、由CSTR、Cstr()、string、Instr()和str()(此为深度扩展)所想到的关于总结的方法。
   &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号