开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 7890|回复: 18
收起左侧

[界面分享] 自会酷狗源码

[复制链接]
结帖率:0% (0/3)
发表于 2015-11-22 12:40:54 | 显示全部楼层 |阅读模式   广东省湛江市
  
窗口程序集名保 留  保 留备 注
中央协调程序集   
变量名类 型数组备 注
列表组酷狗列表_数据0 
背景画刷GP纯色画刷  
直线画笔GP画笔  
表项激活画刷GP纯色画刷  
表项字体GP字体  
名称画刷GP纯色画刷  
名称激活画刷GP纯色画刷被特殊激活的表项字体是白色
时间画刷GP纯色画刷  
特别激活表项图片GP图像  
特别激活表项背景GP图像  
滚动条_正常GP图像  
滚动条_点燃GP图像  
滚动条_按下GP图像  
滚动条_上调节器GP图像  
滚动条_下调节器GP图像  
鼠标一次滚动的行数整数型控制面板->鼠标->轮->"一次滚动下列行数"来定义行数的大小

子程序名返回值类型公开备 注
_启动子程序整数型 请在本子程序中放置易模块初始化代码
Gdiplus初始化 ()
背景画刷.创建 (RGB到ARGB (16448255))
直线画笔.创建自颜色 (RGB到ARGB (14737632), 1, #单位_像素 )
表项激活画刷.创建 (RGB到ARGB (15722200))
表项字体.创建自默认字体 ()
名称画刷.创建 (RGB到ARGB (5263440))
名称激活画刷.创建 (RGB到ARGB (16777215))
时间画刷.创建 (RGB到ARGB (8421504))
特别激活表项图片.创建自字节集 ( #特别激活表项图片 )
特别激活表项背景.创建自字节集 ( #特别激活表项背景 )
滚动条_正常.创建自字节集 ( #滚动条_正常 )
滚动条_点燃.创建自字节集 ( #滚动条_点燃 )
滚动条_按下.创建自字节集 ( #滚动条_按下 )
滚动条_上调节器.创建自字节集 ( #滚动条_上调节器 )
滚动条_下调节器.创建自字节集 ( #滚动条_下调节器 )
API_SystemParametersInfo ( #SPI_GETWHEELSCROLLLINES, 0, 鼠标一次滚动的行数, 0)  ' 取得鼠标一次的滚动行数
输出调试文本 (“     <高仿酷狗7列表1.3 - 作者:wangzexi>”)
输出调试文本 (“     1.本列表表项索引一律从1开始!”)
输出调试文本 (“     2.为了列表可以响应鼠标滚轮事件,请设置其控件的可停留焦点为真。”)
_临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
返回 (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
_临时子程序  
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
载入 (_启动窗口, , )
子程序名返回值类型公开备 注
LOWORD整数型 取低位
参数名类 型参考可空数组备 注
Param整数型
返回 (位与 (Param, 65535))
子程序名返回值类型公开备 注
HIWORD整数型 取高位
参数名类 型参考可空数组备 注
Param整数型
返回 (右移 (Param, 16))
子程序名返回值类型公开备 注
列表新过程整数型 
参数名类 型参考可空数组备 注
hWnd整数型
Msg整数型
wParam整数型
lParam整数型
变量名类 型静态数组备 注
计次整数型 
lpPaintPAINTSTRUCT 
x整数型 
y整数型 
TMETRACKMOUSEEVENTTYPE 
临时整数整数型 
计次循环首 (取数组成员数 (列表组), 计次)
如果真 (列表组 [计次].Hwnd = hWnd)
跳出循环 ()

计次循环尾 ()
判断 (Msg = #WM_PAINT )
API_BeginPaint (hWnd, lpPaint)
API_BitBlt (lpPaint.hdc, lpPaint.rcPaint.Left, lpPaint.rcPaint.Top, lpPaint.rcPaint.Right - lpPaint.rcPaint.Left, lpPaint.rcPaint.Bottom - lpPaint.rcPaint.Top, 列表组 [计次].MDC, lpPaint.rcPaint.Left, lpPaint.rcPaint.Top, 13369376)  ' 区域更新
API_EndPaint (hWnd, lpPaint)
判断 (Msg = #WM_MOUSEMOVE )  ' 当鼠标移动了
TME.cbSize = 16
TME.hwndTrack = hWnd
TME.dwFlags = 位或 ( #TME_HOVER, #TME_LEAVE )
TrackMouseEvent (TME)
' 鼠标离开消息的获取↑
x = LOWORD (lParam)
y = HIWORD (lParam)
' 滚动条动态显示
如果真 (列表组 [计次].滚动条.存在 列表组 [计次].滚动条.透明度 ≠ 255)  ' 应该存在却不在
如果 (列表组 [计次].滚动条.动画线程句柄 ≠ 0)
如果真 (列表组 [计次].滚动条.动画状态 = 2)
强制结束线程 (列表组 [计次].滚动条.动画线程句柄)
列表组 [计次].滚动条.动画线程句柄 = API_CreateThread (0, 0, &滚动条渐显线程, 计次, 0, 0)

列表组 [计次].滚动条.动画线程句柄 = API_CreateThread (0, 0, &滚动条渐显线程, 计次, 0, 0)


列表鼠标移动事件 (x, y, 计次)
判断 (Msg = #WM_LBUTTONDOWN )  ' 当鼠标左键按下了
x = LOWORD (lParam)
y = HIWORD (lParam)
列表鼠标左键按下事件 (x, y, 计次)
判断 (Msg = #WM_LBUTTONUP )
x = LOWORD (lParam)
y = HIWORD (lParam)
列表鼠标左键放开事件 (x, y, 计次)
判断 (Msg = #WM_RBUTTONDOWN )
x = LOWORD (lParam)
y = HIWORD (lParam)
列表鼠标右键按下事件 (x, y, 计次)
判断 (Msg = #WM_MOUSELEAVE )  ' 鼠标离开
临时整数 = 列表组 [计次].现行激活项
列表组 [计次].现行激活项 = 0
重绘_表项 (计次, 临时整数)
' 滚动条处理
' 滚动条动态显示
如果真 (列表组 [计次].滚动条.存在 列表组 [计次].滚动条.透明度 ≠ 0)
如果 (列表组 [计次].滚动条.动画线程句柄 ≠ 0)
如果真 (列表组 [计次].滚动条.动画状态 = 1)
强制结束线程 (列表组 [计次].滚动条.动画线程句柄)
列表组 [计次].滚动条.动画线程句柄 = API_CreateThread (0, 0, &滚动条渐隐线程, 计次, 0, 0)

列表组 [计次].滚动条.动画线程句柄 = API_CreateThread (0, 0, &滚动条渐隐线程, 计次, 0, 0)


' 滚动条状态归位
如果真 (列表组 [计次].滚动条.滚动条状态 = 1 列表组 [计次].滚动条.上调节器状态 = 1 列表组 [计次].滚动条.下调节器状态 = 1)
列表组 [计次].滚动条.滚动条状态 = 0
列表组 [计次].滚动条.上调节器状态 = 0
列表组 [计次].滚动条.下调节器状态 = 0
重绘_滚动条 (计次)

判断 (Msg = #WM_LBUTTONDBLCLK )
x = LOWORD (lParam)
y = HIWORD (lParam)
列表鼠标左键双击事件 (x, y, 计次)
判断 (Msg = #WM_MOUSEWHEEL )
如果真 (列表组 [计次].滚动条.存在)
列表组 [计次].滚动条.总偏移 = 列表组 [计次].滚动条.总偏移 + 列表组 [计次].正常表项高度 × (wParam ÷ 7864320)
判断 (列表组 [计次].滚动条.总偏移 < 0)
列表组 [计次].滚动条.总偏移 = 0
判断 (列表组 [计次].滚动条.总偏移 > 列表组 [计次].滚动条.列表总高度 (列表组 [计次].Rect.Bottom - 列表组 [计次].Rect.Top))
列表组 [计次].滚动条.总偏移 = 列表组 [计次].滚动条.列表总高度 (列表组 [计次].Rect.Bottom - 列表组 [计次].Rect.Top)


列表组 [计次].滚动条.顶边 = 列表框To滚动条 (计次, 列表组 [计次].滚动条.总偏移)
重绘_所有 (计次)





如果真 (列表组 [计次].挂接_所有消息 ≠ 0)
Call (列表组 [计次].挂接_所有消息, hWnd, Msg, wParam, lParam)

返回 (API_CallWindowProc (列表组 [计次].窗口旧过程, hWnd, Msg, wParam, lParam))
子程序名返回值类型公开备 注
列表鼠标移动事件  
参数名类 型参考可空数组备 注
x整数型
y整数型
列表索引整数型
变量名类 型静态数组备 注
表项索引整数型 
临时整数整数型 
如果 (x < 列表组 [列表索引].Rect.Right - 列表组 [列表索引].Rect.Left - 选择 (列表组 [列表索引].滚动条.透明度 ≠ 0, 15, 0) 列表组 [列表索引].滚动条.滚动条状态 ≠ 2)  ' 滚动条不在调节状态
' 滚动条处理
如果真 (列表组 [列表索引].滚动条.滚动条状态 = 1 列表组 [列表索引].滚动条.上调节器状态 = 1 列表组 [列表索引].滚动条.下调节器状态 = 1)
列表组 [列表索引].滚动条.滚动条状态 = 0
列表组 [列表索引].滚动条.上调节器状态 = 0
列表组 [列表索引].滚动条.下调节器状态 = 0
重绘_滚动条 (列表索引)
' 列表内
表项索引 = 取点表项 (列表索引, x, y)
如果 (列表组 [列表索引].现行激活项 = 表项索引)
' 激活项目没改变

' 改变了!
临时整数 = 列表组 [列表索引].现行激活项  ' 记住上次激活的那小子
列表组 [列表索引].现行激活项 = 表项索引  ' 然后告诉列表,老子是现在激活的
重绘_表项 (列表索引, 表项索引)  ' 给老子带上蓝底
如果真 (临时整数 ≠ 0)  ' 如果上次有人处在激活状态
重绘_表项 (列表索引, 临时整数)  ' 给那小子恢复白底!!

如果真 (列表组 [列表索引].挂接_表项_被激活 ≠ 0)
Call (列表组 [列表索引].挂接_表项_被激活, 表项索引)



' 滚动条内
临时整数 = 列表组 [列表索引].现行激活项
列表组 [列表索引].现行激活项 = 0
如果真 (临时整数 ≠ 0)
重绘_表项 (列表索引, 临时整数)

列表滚动条处理 (列表索引, x, y, #WM_MOUSEMOVE )  ' 这地不归我管,应该你管

子程序名返回值类型公开备 注
列表鼠标左键按下事件  
参数名类 型参考可空数组备 注
x整数型
y整数型
列表索引整数型
变量名类 型静态数组备 注
表项索引整数型 
临时整数整数型 
如果 (x < 列表组 [列表索引].Rect.Right - 列表组 [列表索引].Rect.Left - 选择 (列表组 [列表索引].滚动条.透明度 ≠ 0, 15, 0))
' 列表内
表项索引 = 取点表项 (列表索引, x, y)
如果真 (表项索引 ≠ 0)
如果 (列表组 [列表索引].现行选中项 = 表项索引)
' 选中项目没改变

' 改变了!
临时整数 = 列表组 [列表索引].现行选中项  ' 记住上次选中的那小子
列表组 [列表索引].现行选中项 = 表项索引  ' 然后告诉列表,老子是现在选中的
重绘_表项 (列表索引, 表项索引)  ' 给老子带上蓝底
如果真 (临时整数 ≠ 0)  ' 如果上次有人处在选中状态
重绘_表项 (列表索引, 临时整数)  ' 给那小子恢复白底!!

如果真 (列表组 [列表索引].挂接_表项_被选中 ≠ 0)
Call (列表组 [列表索引].挂接_表项_被选中, 表项索引)



如果真 (列表组 [列表索引].挂接_表项_鼠标左键按下 ≠ 0)
Call (列表组 [列表索引].挂接_表项_鼠标左键按下, 表项索引, x, y)

' 滚动条内
列表滚动条处理 (列表索引, x, y, #WM_LBUTTONDOWN )  ' 这地不归我管,应该你管

子程序名返回值类型公开备 注
列表鼠标右键按下事件  
参数名类 型参考可空数组备 注
x整数型
y整数型
列表索引整数型
变量名类 型静态数组备 注
表项索引整数型 
临时整数整数型 
如果 (x < 列表组 [列表索引].Rect.Right - 列表组 [列表索引].Rect.Left - 选择 (列表组 [列表索引].滚动条.透明度 ≠ 0, 15, 0))
' 列表内
表项索引 = 取点表项 (列表索引, x, y)
如果真 (表项索引 ≠ 0)
如果 (列表组 [列表索引].现行选中项 = 表项索引)
' 选中项目没改变

' 改变了!
临时整数 = 列表组 [列表索引].现行选中项  ' 记住上次选中的那小子
列表组 [列表索引].现行选中项 = 表项索引  ' 然后告诉列表,老子是现在选中的
重绘_表项 (列表索引, 表项索引)  ' 给老子带上蓝底
如果真 (临时整数 ≠ 0)  ' 如果上次有人处在选中状态
重绘_表项 (列表索引, 临时整数)  ' 给那小子恢复白底!!

如果真 (列表组 [列表索引].挂接_表项_被选中 ≠ 0)
Call (列表组 [列表索引].挂接_表项_被选中, 表项索引)




' 滚动条内
' 滚动条应该不响应右键消息

子程序名返回值类型公开备 注
列表鼠标左键放开事件  
参数名类 型参考可空数组备 注
x整数型
y整数型
列表索引整数型
变量名类 型静态数组备 注
表项索引整数型 
如果 (x < 列表组 [列表索引].Rect.Right - 列表组 [列表索引].Rect.Left - 选择 (列表组 [列表索引].滚动条.透明度 ≠ 0, 15, 0))
' 列表左键放开似乎没什么可以响应的
' 列表内
表项索引 = 取点表项 (列表索引, x, y)
如果真 (列表组 [列表索引].挂接_表项_鼠标左键双击 ≠ 0)
Call (列表组 [列表索引].挂接_表项_鼠标左键放开, 表项索引, x, y)





' 滚动条
列表滚动条处理 (列表索引, x, y, #WM_LBUTTONUP )
子程序名返回值类型公开备 注
列表鼠标左键双击事件  
参数名类 型参考可空数组备 注
x整数型
y整数型
列表索引整数型
变量名类 型静态数组备 注
表项索引整数型 
临时整数整数型 
循环变量整数型 
如果 (x < 列表组 [列表索引].Rect.Right - 列表组 [列表索引].Rect.Left - 选择 (列表组 [列表索引].滚动条.透明度 ≠ 0, 15, 0))
' 列表内
表项索引 = 取点表项 (列表索引, x, y)
如果真 (表项索引 ≠ 0)
如果 (列表组 [列表索引].现行特别激活项 = 表项索引)
' 特别激活项目没改变

' 改变了!
临时整数 = 列表组 [列表索引].现行特别激活项  ' 记住上次激活的那小子
列表组 [列表索引].现行特别激活项 = 表项索引  ' 然后告诉列表,老子是现在激活的
列表动画处理 (列表索引, 表项索引, 临时整数)
如果真 (列表组 [列表索引].挂接_表项_被特别激活 ≠ 0)
Call (列表组 [列表索引].挂接_表项_被特别激活, 表项索引)



如果真 (列表组 [列表索引].挂接_表项_鼠标左键双击 ≠ 0)
Call (列表组 [列表索引].挂接_表项_鼠标左键双击, 表项索引, x, y)


'

自绘KUGOU.zip (369.82 KB, 下载次数: 134)
QQ截图20151122124056.png

点评

然并卵,这不是你做的。   江西省南昌市  发表于 2015-11-22 14:47

评分

参与人数 1精币 +2 收起 理由
&#14379;孬嫑夯芘 + 2 支持开源~!感谢分享

查看全部评分

本帖被以下淘专辑推荐:

结帖率:100% (1/1)

签到天数: 4 天

发表于 2022-5-10 10:23:14 | 显示全部楼层   广东省深圳市
看看是什么..........
回复 支持 反对

使用道具 举报

结帖率:32% (6/19)

签到天数: 1 天

发表于 2022-5-10 09:46:53 | 显示全部楼层   贵州省黔东南苗族侗族自治州
楼主,你是一个大好人!!
回复 支持 反对

使用道具 举报

结帖率:32% (6/19)

签到天数: 1 天

发表于 2022-4-28 09:21:41 | 显示全部楼层   贵州省黔东南苗族侗族自治州
下载已失效??
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)
发表于 2021-4-16 14:44:14 | 显示全部楼层   江西省抚州市
分享是一种美德
回复 支持 反对

使用道具 举报

发表于 2017-8-20 09:16:00 | 显示全部楼层   山东省菏泽市
伟大的洼地挖到奥万大奥万大挖到
回复 支持 反对

使用道具 举报

结帖率:50% (7/14)
发表于 2016-11-28 15:43:49 | 显示全部楼层   广东省湛江市
感谢分享!!
回复 支持 反对

使用道具 举报

发表于 2016-9-18 22:02:48 | 显示全部楼层   河南省焦作市
学习学习,多谢分享
回复 支持 反对

使用道具 举报

结帖率:20% (16/80)
发表于 2016-9-12 08:07:57 | 显示全部楼层   美国
不明觉厉!
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2016-9-8 04:42:34 | 显示全部楼层   海南省海口市
呵呵,支持原贴。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表