VB淡入淡出效果.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB淡入淡出效果

[VB][API]设置窗口透明度,淡入淡出 在VB6里面设置窗口透明度,应该不算是一件难的事,在这里须要声明API和相关常数 ----------------------------------------------------------------------------------- Private Declare Function SetWindowLong Lib user32 _ ??????????????? Alias SetWindowLongA _ ??????????????? (ByVal hwnd As Long, _ ??????????????? ByVal nIndex As Long, _ ??????????????? ByVal dwNewLong 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 SetLayeredWindowAttributes Lib user32 ( _ ??????????????? ByVal hwnd As Long, _ ??????????????? ByVal crKey As Long, _ ??????????????? ByVal bAlpha As Long, _ ??????????????? ByVal dwFlags As Long) _ ??????????????? As Long Private Const GWL_EXSTYLE = (-20) Private Const LWA_ALPHA As Long = H2 Private Const WS_EX_LAYERED As Long = H80000 ----------------------------------------------------------------------------------- 在这里希望初级的学习人员请注意代码的缩近,这样有便于代码的调试,增加代码可读性.虽然API不须要去看,但是你以后再来看的时候这些是什么你就不知道了,因为一块板的API声明,又怎么能知道是哪一个呢,如果用注释--- 上下框在一起,以后若用得上这个API的时候直接复制这一块过去,当然你可以把常用的功能封装到一个类或模块中. API我就不具体说明它的用途了,我为了方便使用写了一个函数 设置窗口透明度 Public Sub SetFormToAlpha(hwnd As Long, lngAlpha As Long) ??? Dim tmpLog As Long ???? ??? If hwnd = 0 Then Exit Sub ??? If lngAlpha = 0 And lngAlpha = 255 Then ??????? tmpLog = GetWindowLong(hwnd, GWL_EXSTYLE) 窗口属性 ??????? Call SetWindowLong(hwnd, GWL_EXSTYLE, tmpLog Or WS_EX_LAYERED) ??????? Call SetLayeredWindowAttributes(hwnd, 0, lngAlpha, LWA_ALPHA) ??? End If End Sub 从代码中看出,透明值是一个大于等于0 且小于等于255的数,超过这个值虽然不会有什么错误,但结果是(大于时)值减去255的结果,所以有点多此一举. 使用此函数,只须要告诉窗口句柄和透明度即可,比如在某窗体的一个按钮单击代码写到: Private Sub Command1_Click() ??? SetFormToAlpha Me.hWnd,80有的人可能会问怎么不是直接form对像传进去呢,我也想让调用的人方便点,可是我这个函数是封装在公用的一个组年里的SYSTEMLIB.DLL 由于是公用,那么就不用在公用函数的参数里带Private对像. End Sub ----------------------------------------- 好,既然透明度能实现了,那就来看一下窗口的淡入淡出,很多人都想为自己的ABOUT窗口或是启动画面加上淡入淡出吧,那么使用这个透明函数,我写一个这样

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档