CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  API

请问,如何做一个透明渐变的启动窗体?

楼主yoban(做梦都想成为高手)2005-06-02 09:54:56 在 VB / API 提问

现在不少软件都有那种透明渐变的启动窗体,我想做一个,看了一些文章,好象用SetLayeredWindowAttributes函数比较简单,但代码写在窗体的Form_Load事件中没效果,写在其他事件中倒是有效果,可我怎么能实现窗体一启动就实现从由全透明到全清晰的渐变效果呢?以下代码  
   
  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   hwnd   As   Long,   ByVal   nIndex   As   Long,   ByVal   dwNewLong   As   Long)   As   Long  
   
  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   Const   WS_EX_LAYERED   =   &H80000  
   
  Private   Const   GWL_EXSTYLE   =   (-20)  
   
  Private   Const   LWA_ALPHA   =   &H2  
   
  Private   Const   LWA_COLORKEY   =   &H1  
  Sub   delay(ByVal   t   As   Long)  
  Dim   i   As   Long  
  For   i   =   0   To   t  
  Next   i  
  End   Sub  
   
  Private   Sub   Form_DblClick()  
  End  
  End   Sub  
   
  Private   Sub   Form_Load()  
  Dim   rtn   As   Long  
   
          rtn   =   GetWindowLong(hwnd,   GWL_EXSTYLE)  
   
          rtn   =   rtn   Or   WS_EX_LAYERED  
   
          SetWindowLong   hwnd,   GWL_EXSTYLE,   rtn  
          For   i   =   0   To   255   Step   10  
          SetLayeredWindowAttributes   hwnd,   0,   i,   LWA_ALPHA  
          DoEvents  
        delay   500  
        Next   i  
  End   Sub 问题点数:100、回复次数:4Top

1 楼xinliangyu(yxl)回复于 2005-06-02 10:04:16 得分 50

放在form_activate下Top

2 楼DooDu(杜霖:I want,I can(开关拉))回复于 2005-06-02 10:08:32 得分 50

同意楼上  
  另外,放到  
  Form_Resize里也可以的  
  Form_Resize和Form_Activate是都会触发的Top

3 楼yoban(做梦都想成为高手)回复于 2005-06-02 10:13:56 得分 0

呵呵,谢谢楼上的2位,我就没试过代码写在form_activate下,果然可以,还是怪自己太菜Top

4 楼yoban(做梦都想成为高手)回复于 2005-06-02 10:16:10 得分 0

接分Top

相关问题

  • 透明窗体
  • 窗体透明
  • 启动窗体
  • 半透明窗体?
  • 98窗体透明
  • 半透明窗体.
  • 窗体启动时最大化窗体!
  • VB中的透明窗体。
  • 关于透明窗体
  • 透明窗体的作法

关键词

  • 效果
  • 窗体
  • rtn
  • longprivate
  • byval
  • 启动
  • lwa
  • setlayeredwindowattributes
  • exstyle
  • gwl

得分解答快速导航

  • 帖主:yoban
  • xinliangyu
  • DooDu

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo