AnimateWindow API

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 iprogram 的 blog

函数animatewindow.
    尽管msdn页面上说这个函数是win2000的最新函数,但经网友证实在win98里就已经有这个函数了:

private declare function animatewindow lib "user32" (byval hwnd as long, byval dwtime as long, byval dwflags as long) as long

其中:
   hwnd只对form有效,其他像picture1都无法产生效果。
   dwtime是动画持续的时间,默认为200。
   dwflags可取以下值:
     aw_hor_positive (  &h1  ) '从左到右打开窗口
     aw_hor_negative (  &h2  ) '从右到左打开窗口
     aw_ver_positive (  &h4  ) '从上到下打开窗口
     aw_ver_negative (  &h8  ) '从下到上打开窗口
     aw_center    (  &h10 ) '看不出任何效果
     aw_hide     (&h10000) '在窗体卸载时若想使用本函数就得加上此常量
     aw_activate   (&h20000) '在窗体通过本函数打开后,默认情况下会失去焦点,除非加上本常量
     aw_slide     (&h40000) '看不出任何效果
     aw_blend     (&h80000) '淡入淡出效果

最后一个就是我要找的,遗憾的是只对win2000有效。下边是窗体淡入的效果,如果没有win2000的话就看不出来了:

form1.borderstyle = 1
form1.caption=""
form1.controlbox=""
再给form1一附大小合适的背景图。

private sub form_click()
  unload me
end sub
private sub form_unload(cancel as integer)
  animatewindow hwnd, 1000, &h80000 + &h10000
  set form1 = nothing
end sub
animatewindow函数可以为程序特别是for win2000的程序增色不少。

本文关键:AnimateWindow API
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top