易语言按钮滑动展开特效源码

.版本 2 .支持库 iext2 .支持库 spec .支持库 eAPI .程序集 窗口程序集1 .程序集变量 初始宽度, 整数型 .程序集变量 按钮组, 超级按钮, , "0" .子程序 滑动特效 .参数 索引, 整数型 .局部变量 i, 整数型 .局部变量 k, 整数型 .如果真 (按钮组 [取数组成员数 (按钮组)].宽度 = 100 且 按钮组 [取数组成员数 (按钮组)].左边 = 300) ' 初始情况 .计次循环首 (20, i) 按钮组 [索引].宽度 = 初始宽度 + i .计次循环首 (取数组成员数 (按钮组) - 索引, k) 按钮组 [索引 + k].左边 = 按钮组 [索引 + k - 1].左边 + 按钮组 [索引 + k - 1].宽度 + 1 .计次循环尾 () 延迟 (1) .计次循环尾 () 刷新布局 (索引) 返回 () .如果真结束 .如果真 (索引 = 1) ' 鼠标在第一个按钮上 .计次循环首 (20, i) 按钮组 [索引].宽度 = 初始宽度 + i 按钮组 [索引 + 1].宽度 = 按钮组 [索引 + 1].宽度 - 1 按钮组 [索引 + 1].左边 = 按钮组 [索引].左边 + 按钮组 [索引].宽度 延迟 (1) .计次循环尾 () 刷新布局 (索引) 返回 () .如果真结束 .如果真 (索引 = 取数组成员数 (按钮组)) ' 鼠标在最后一个按钮上 .计次循环首 (20, i) 按钮组 [索引].宽度 = 初始宽度 + i 按钮组 [索引].左边 = 按钮组 [索引].左边 - 1 按钮组 [索引 - 1].宽度 = 按钮组 [索引 - 1].宽度 - 1 延迟 (1) .计次循环尾 () 刷新布局 (索引) 返回 () .如果真结束 .如果 (按钮组 [索引 + 1].宽度 > 100) .计次循环首 (20, i) ' 后面一个按钮展开了,执行这段代码 按钮组 [索引].宽度 = 初始宽度 + i 按钮组 [索引 + 1].宽度 = 按钮组 [索引 + 1].宽度 - 1 按钮组 [索引 + 1].左边 = 按钮组 [索引].左边 + 按钮组 [索引].宽度 延迟 (1) .计次循环尾 () .否则 .计次循环首 (20, i) ' 前面一个按钮展开了,执行这段代码 按钮组 [索引].宽度 = 初始宽度 + i 按钮组 [索引].左边 = 按钮组 [索引].左边 - 1 按钮组 [索引 - 1].宽度 = 按钮组 [索引 - 1].宽度 - 1 延迟 (1) .计次循环尾 () .如果结束 刷新布局 (索引) .子程序 高精度等待 .参数 微秒, 整数型, , 1000微秒 = 1毫秒 ; 1000毫秒 = 1秒 .局部变量 hTimer, 整数型 .局部变量 int64, LARGE_INTEGER ' int64.QuadPart = -10 × 微秒 ' hTimer = CreateWaitableTimerA (0, 假, 0) ' SetWaitableTimer (hTimer, int64, 0, 0, 0, 假) .' 判断循环首 (MsgWaitForMultipleObjects (1, hTimer, 假, -1, 255) ≠ 0) ' 处理事件 () .' 判断循环尾 () ' CloseHandle (hTimer) .子程序 归原 .参数 索引, 整数型 .局部变量 i, 整数型 .局部变量 k, 整数型 .计次循环首 (20, i) .如果真 (按钮组 [索引].宽度 > 100) 按钮组 [索引].宽度 = 按钮组 [索引].宽度 - 1 .计次循环首 (取数组成员数 (按钮组) - 索引, k) 按钮组 [索引 + k].左边 = 按钮组 [索引 + k].左边 - 1 .计次循环尾 () .如果真结束 .计次循环尾 () 按钮组 [索引].宽度 = 100 .子程序 刷新布局 .参数 索引, 整数型 .局部变量 i, 整数型 .局部变量 b, 整数型 .局部变量 按钮左边, 整数型 .计次循环首 (取数组成员数 (按钮组), i) 按钮左边 = 0 .计次循环首 (i - 1, b) 按钮左边 = 按钮左边 + 按钮组 [b].宽度 .计次循环尾 () .如果 (i = 索引) 按钮组 [i].宽度 = 120 .否则 按钮组 [i].宽度 = 100 .如果结束 按钮组 [i].左边 = 按钮左边 .计次循环尾 () .子程序 __启动窗口_创建完毕 加入成员 (按钮组, 超级按钮1) 加入成员 (按钮组, 超级按钮2) 加入成员 (按钮组, 超级按钮3) 加入成员 (按钮组, 超级按钮4) 初始宽度 = 100 ' 这里有三个按钮,我把鼠标放在 .子程序 _时钟1_周期事件 .局部变量 当前句柄, 整数型 .局部变量 i, 整数型 当前句柄 = 取鼠标所在窗口句柄 () .计次循环首 (取数组成员数 (按钮组), i) .如果真 (当前句柄 = 按钮组 [i].取窗口句柄 () 且 按钮组 [i].宽度 = 100) 时钟1.时钟周期 = 0 滑动特效 (i) 时钟1.时钟周期 = 65 返回 () .如果真结束 .如果真 (当前句柄 = 按钮组 [i].取窗口句柄 ()) 返回 () .如果真结束 .计次循环尾 () .计次循环首 (取数组成员数 (按钮组), i) .如果真 (按钮组 [i].宽度 = 120) 归原 (i) 返回 () .如果真结束 .计次循环尾 ()

易语言按钮滑动展开特效源码.gif

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注