我的主页: http://www.tommstudio.com/
在应用程序中引入图片淡入及淡出,可以让用户界面更加美观。以前报刊杂志中介绍
的常用方法有两种:一是自己写程序,诸个象素进行混合渐变;二是使用directx,建立一
个带alpha通道的surface。第一种,效果可以自己控制,但比较麻烦,而且一般不容易生
成硬件优化的代码;第二种速度很快,却需要使用directx库。
本文结合delphi实例代码,介绍两种简单快速的实现方法,算是一个总结吧,希望能
对初学者有所帮助。
一:animatewindow函数的使用:
(一)函数原型:
|
(二)参数设置:
hwnd :用“窗体名.handle”即可,如:form1.handle;
dwtime:一般情况下用400比较合适,我偏向于1000;
dwflags:可以设为多种效果,详见msdn,这里我只介绍淡入淡出用到的参数aw_blend;
如果是淡入,设为aw_blend即可,如果是淡出,设为aw_blend or aw_hide。
(三)程序实例:
新建一个工程,在生成的窗体form1上添加一个按钮button1,button1的caption设为“淡
出”;接下来添加如下两段代码,实现淡入淡出:
1、淡入:双击form1,在其“oncreate”事件中添加:
|
2、淡出:双击button1,在其“onclick”事件中添加:
|
整个程序的procedure如下:
|