踏雪无痕
clayui实用系列(一):在C#里切换窗口时使用各种3D/2D眩酷特效,多达13种特效。
分类: C# 2011-11-24 13:25 93人阅读评论(0) 收藏举报
预览:
1
下载
这次clayui给大家带来了比较实用的东西,因为时间比较仓促,就先放出C#
版,目前只有13种特效,因为做这个本身也比较麻烦,所以想先看看大家的反应吧,
如果大家觉得不好用,或者不够眩的话,就不继续下去了。当然,如果大家对这个比
较喜欢的话,会继续更新添加更多特效。
先说明一下,因为本人对C#也不是特别了解,所以可能会出现一些BUG,请
大家能够反馈给我。由于演示程序里只是添加了普通的C#控件,目前不是很清楚其他
的C#控件,或者一些换肤的东西放上去会不会有问题,不过从原理上来说,这个跟C#
的窗口是基本无关的,应该不会有问题。
目前放出的是一个API库,C#通过调用API库的API来实现各种窗口切换效
果。
好的,下面来讲解一下如何使用:
首先,当然还是初始化一下,在Form1_Load里添加:
IntPtr handle = ;
CLAYUI_CSharp_Init(handle);
释放clayui的内存当然是在Form1_FormClosed里:
CLAYUI_CSharp_Release();
然后需要在2个互相切换的form里各加一个TIMER,这里注意,只能使用单线
程的响应UI事件的TIMER,使用多线程的TIMER是会出错的。
在TIMER里触发消息函数里添加:
IntPtr handle = ;
if (IsPlay() == 0)
{
EnableControl(1);
2
EnableControl(1);
();
}
else
Redraw(handle, 1);
这段代码的意思是判断是否动画播放完毕,如果没有,则调用API:Redraw
来绘制窗口,如果播放完毕了就将窗口里的控件都恢复刷新,并让TIMER停止。
然后就是点击某按钮,触发窗口切换特效,在button1_Click里:
IntPtr handle = ;
IntPtr h1 = (IntPtr)0, h2 = (IntPtr)0;
CLAYUI_OnAnimation(handle, 0, 1, 0, 0);
Form2 f2 = new Form2();
= thi
clayui实用系列(一):在C#里切换窗口时使用各种3D-2D眩酷特效,多达13种特效。 来自淘豆网www.taodocs.com转载请标明出处.