开源子类化列表框
功能说明:该程序是一个基于易语言开发的Windows GUI演示程序,核心功能是创建并自定义一个支持图标显示、渐变背景、多色主题和自绘样式的列表框控件。程序在启动窗口创建完毕后,动态创建了一个子类化的列表框控件(通过API调用CreateWindowEx实现),并预先插入10个测试项目,每个项目关联一个本地图标文件(.\图标\1.ico 至 .\图标\10.ico)。程序通过重写WM_DRAWITEM消息实现完全自绘:为每个列表项绘制渐变色背景(垂直线性渐变,从深绿向浅绿过渡)、自定义文字颜色(绿色系)、焦点高亮效果(白色边框+亮黄绿色文本)、统一表项高度(40像素)及微软雅黑字体。同时封装了“插入项目”子程序以支持图标路径数组传入与索引绑定,并提供“画渐变”子程序用于生成指定尺寸的渐变位图底图(360×40像素)。整个程序未包含业务逻辑(如数据加载、用户交互处理或外部通信),纯属UI控件美化与自绘技术的展示,适用于学习易语言子类化、GDI绘图、列表框OwnerDraw机制及多彩主题界面开发。
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 画渐变
| |
| |------ 插入项目
| |
| |------ 子类化列表框
| |
| |------ 构造矩形
| |
| |------ 画渐变矩形1
| |
| |------ 画渐变矩形
| |
| |------ 子类化
| |
| |------ 卸载子类化
| |
| |------ __启动窗口_将被销毁
| |
| |------ 创建列表框
| |
| |------ 设置字体
| |
| |------ 列表框_项目被双击
| |
| |------ 列表框_失去输入焦点
| |
| |------ 列表框_项目取消选择
| |
| |------ 列表框_项目被改变
| |
| |------ 列表框_获得输入焦点
| |
| |
======调用的Dll
| |
| |---[dll]------ 画焦点矩形_
| |
| |---[dll]------ 文本绘图_
| |
| |---[dll]------ 复制场景位图_
| |
| |---[dll]------ 设置前景色_
| |
| |---[dll]------ 设置背景颜色_
| |
| |---[dll]------ 删除对象_
| |
| |---[dll]------ 填充矩形_
| |
| |---[dll]------ 创建纯色刷子_
| |
| |---[dll]------ 发送消息_文本
| |
| |---[dll]------ 呼叫窗口函数地址_
| |
| |---[dll]------ 设置窗口信息_
| |
| |---[dll]------ 取系统默认色_
| |
| |---[dll]------ 取结构类型尺寸
| |
| |---[dll]------ 拷贝内存
| |
| |---[dll]------ 创建窗口_
| |
| |---[dll]------ 取模块句柄_
| |
| |---[dll]------ 提取文件图标_
| |
| |---[dll]------ 画图标_
| |
| |---[dll]------ 发送消息_矩形
| |
| |---[dll]------ 发送消息_整数
| |
| |---[dll]------ 清除图标_
| |
| |---[dll]------ 取对象句柄_
| |
| |---[dll]------ 选入设备场景_
| |
| |---[dll]------ 用指定属性创建逻辑字体_
| |
| |---[dll]------ 屏蔽窗口矩形_
| |
| |---[dll]------ 取文本地址_
| |
| |---[dll]------ 画图标扩展_
| |
| |---[dll]------ 画矩形边框_
| |
| |---[dll]------ 设置背景模式_
| |
| |---[dll]------ 画圆角矩形_
| |
| |---[dll]------ 乘除计算_
| |
| |---[dll]------ GradientFill
| |
| |---[dll]------ 取设备场景_
| |
| |---[dll]------ 创建内存场景_
| |
| |---[dll]------ 创建设备位图_
| |
| |---[dll]------ 释放设备场景_
| |
| |---[dll]------ 删除设备场景_
| |
| |---[dll]------ 执行子程序_
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。