开源Wonderful_UI31自绘模块源码例子
功能说明:该程序是基于易语言(EPL)开发的图形用户界面(GUI)应用程序,主要功能是利用自定义的 UI 模块构建一个具有皮肤风格的窗口界面,从代码中设置的窗口标题来看,其设计目标是作为"I Music Player"(音乐播放器)的前端界面或界面展示 Demo。程序整体逻辑清晰,分为启动初始化、主窗口创建与 UI 布局控制两个核心部分。
首先,在程序的入口点 `QQ 列表框_Et.子程序 _启动子程序` 中,执行了必要的系统级和模块级初始化工作。这包括调用 `Gdiplus 初始化 ()` 以支持高质量的图形渲染,以及 `初始化_UI 资源 ()` 来加载界面所需的图像资源。随后,程序获取当前运行环境的信息(通过 `取系统版本`),并立即调用主要逻辑子程序 `_临时子程序` 开始构建界面。值得注意的是,该代码段中包含了一个调试用的临时候补机制,即在正式发布前会自动清空 `_临时子程序`,但在当前编译环境中,它是实际运行的主流程。
在核心的 `_临时子程序` 中,程序进行了大量的句柄管理与 UI 组件实例化操作。它首先定义并计算了窗口的显示位置(屏幕居中),大小为 520x320 像素。接着,利用 `窗口_创建` 函数创建一个原生窗口句柄 `P_hWnd`,并指定了窗口标题为"I Music Player",同时加载了位于 `\img\UI_图标.ico` 的应用程序图标。为了增强视觉效果,程序使用了自定义的皮肤窗口类 `p_Win`,背景设置了来自 `\img\bkg1.JPG` 的图片,并启用了缩放模式,这表明该程序高度依赖第三方 UI 插件来实现现代化的视觉风格(如圆角、透明背景等)。此外,还配置了标准的窗口功能按钮,如关闭、最小化、最大化及菜单按钮等。
程序的主要特色在于其对多种复杂 UI 控件的集成与初始化。代码中定义了丰富的全局变量用于存储各类控件的引用,包括但不限于超级列表框、复选框、单选框、托盘图标、进度条、分组框、选项卡等。在 `_临时子程序` 的具体执行流中,特别实现了一个名为 `QQ 列表框_Et` 的高级列表控件。该控件被设定为带有头像和分组功能的类似 QQ 联系人列表的样式,代码通过循环结构动态添加了 5 个“测试列表”分组,并在每个组内填充了 10 个带说明文本的项目,展示了其处理嵌套数据结构的能力。同时,程序还初始化了一个进度条控件 `进度条_WF`,并预留了圆形图片和日历控件的代码区域(部分被注释)。
此外,程序包含一个名为 `子程序_选择夹` 的子例程,专门负责选项卡(TabControl)的逻辑布局。该子程序创建了一个纵向排列的选项卡容器,并将不同的 UI 组件归类到不同的标签页中。第一个标签页命名为“常用组件”,内部包含了多个复选框和单选框,用于演示状态选择交互;第二个标签页(代码截断处暗示存在)则规划了输入表单区域,包含用于用户名和密码的编辑框(其中密码框启用了隐藏输入模式)、带有链接样式的标签以及操作按钮。这种模块化组织方式使得界面结构分明,便于用户在不同功能模块间切换。
综上所述,该程序是一个典型的易语言可视化界面构建工具或应用原型。它不直接包含具体的业务逻辑(如音频解码、播放控制),而是专注于底层窗体管理、GDI+ 图形绘制以及丰富交互控件的封装与展示。其主要用途可以是验证自定义 UI 库的功能,或者作为开发一款名为"I Music Player"的软件的界面骨架。通过这段代码,开发者可以看到如何使用易语言结合外部 DLL 或模块来实现超越标准控件的美观界面,包括窗口皮肤的加载、动态列表的生成、Tab 页面的切换以及各种标准表单元素的布局。整个程序体现了易语言在处理 Windows API 二次开发和快速构建桌面应用程序方面的能力。
======Tools
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 子程序_选择夹
| |
| |------ Main_SubPtr
| |
| |------ 退出程序
| |
| |------ 取图片句柄
| |
| |------ 取高位
| |
| |------ 取低位
| |
| |------ _调用子程序
| |
| |------ 运行文件_
| |
| |------ Execution
| |
| |------ GetRetn
| |
| |------ 取类程序地址
| |
| |------ GetCode
| |
| |------ GetParam
| |
| |------ A2W
| |
| |------ 文本到GUDI
| |
| |------ RGB2ARGB
| |
| |------ ARGB2RGB
| |
| |------ ARGB
| |
| |------ cPicStyle
| |
| |------ cTextColor
| |
| |------ cInvertRGB
| |
| |------ cInvertARGB
| |
| |------ cTurnRGB
| |
| |------ cMixColor
| |
| |------ RectF2RECT
| |
| |------ 双数
| |
| |------ 取任务栏矩形
| |
| |------ 复制透明混合
| |
| |------ 刷新控件
| |
| |------ 更新窗口0
| |
| |------ 更新窗口1
| |
| |------ 重画窗口
| |
| |------ ShowIME
| |
| |------ SplitInt
| |
| |------ 取输入文本
| |
| |------ 取窗口矩形F
| |
| |------ 取系统版本
| |
| |------ 取窗口类名
| |
| |------ 置窗口矩形
| |
| |------ 置Aero
| |
| |------ MakeRectL
| |
| |------ MakeRectF
| |
| |------ MakeRect
| |
| |------ MakePointF
| |
| |------ MakePointL
| |
| |------ MakeSizeL
| |
| |------ MakeFont
| |
| |------ SysVersion
| |
| |
======Gdiplus
| |
| |------ Gdiplus初始化
| |
| |------ Gdiplus卸载
| |
| |------ 区域_创建
| |
| |------ 区域_销毁
| |
| |------ 画笔_创建自颜色
| |
| |------ 画笔_销毁
| |
| |------ 图像_延迟
| |
| |------ 图像_置活动帧
| |
| |------ 图像_取帧数
| |
| |------ 图像_取属性项目
| |
| |------ 图像_取图标句柄
| |
| |------ 图像_载入
| |
| |------ 图像_销毁
| |
| |------ 图像_取宽度
| |
| |------ 图像_取高度
| |
| |------ 图像_创建自像素格式
| |
| |------ 图像_透明
| |
| |------ 图像_旋转
| |
| |------ 图像_取颜色值
| |
| |------ 图形_绘图
| |
| |------ 图形_普通绘图
| |
| |------ 图形_绘图缩放
| |
| |------ 图形_画文本
| |
| |------ 图形_画虚线
| |
| |------ 图形_画直线
| |
| |------ 图形_填充矩形
| |
| |------ 图形_圆角矩形
| |
| |------ 图形_圆角矩形_路径
| |
| |------ 图形_渐变矩形
| |
| |------ 图形_描边矩形
| |
| |------ 图形_画控制文本
| |
| |------ 图形_创建自图像
| |
| |------ 字体_创建字体
| |
| |------ 字体_默认字体
| |
| |------ 字体_字体高度
| |
| |------ 字体_字体尺寸
| |
| |------ 文本_测量文本矩形
| |
| |------ 文本格式_标志创建
| |
| |------ 文本格式_销毁格式
| |
| |
======绘制组件
| |
| |------ DPBkgDraw
| |
| |------ DPFreamBuffer
| |
| |------ DPBufferText
| |
| |------ 组件_绘图片框
| |
| |------ 组件_绘控制钮
| |
| |------ 组件_绘按钮
| |
| |------ 组件_绘复选框
| |
| |------ 组件_绘单选框
| |
| |------ 组件_绘普通背景1
| |
| |------ 组件_绘普通背景2
| |
| |
======WFUI
| |
| |------ 组件_重设ID
| |
| |------ 组件_删除组件
| |
| |------ 窗口_删除窗口
| |
| |------ 初始化_UI资源
| |
| |------ WF_发送消息
| |
| |------ 窗口_取图标句柄
| |
| |------ 窗口_创建
| |
| |------ 热键_注册热键
| |
| |------ 热键_卸载热键
| |
| |------ 热键_取帮助键
| |
| |------ 热键_取热键
| |
| |------ 窗口_消息循环
| |
| |------ WF_DragAcceptFiles
| |
| |------ WF_QueryFile
| |
| |------ Process
| |
| |------ WF_控件查找
| |
| |------ 信息框_WF
| |
| |------ 窗口_消息回调
| |
| |------ 信息框_取图标
| |
| |
======GDI位图
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 创建
| |
| |------ 销毁
| |
| |------ Graphics
| |
| |------ HDC
| |
| |------ 取宽度
| |
| |------ 取高度
| |
| |------ 更新分层DC
| |
| |------ 清除
| |
| |
======IStream
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 创建
| |
| |------ 释放
| |
| |------ 取尺寸
| |
| |------ 取内存句柄
| |
| |------ 取字节流指针
| |
| |------ 置字节流指针
| |
| |------ 取位图指针
| |
| |------ 取出字节集
| |
| |------ Width
| |
| |------ Height
| |
| |
======提示框_WF
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 创建
| |
| |------ 置提示内容
| |
| |------ 置位置
| |
| |------ 销毁
| |
| |------ 是否创建
| |
| |------ 置颜色
| |
| |
======窗口_WF
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ ProcWin
| |
| |------ ProcTimer
| |
| |------ 创建
| |
| |------ 置窗口图标
| |
| |------ SetClient
| |
| |------ IntWindow
| |
| |------ RefreshCtl
| |
| |------ Nonclient
| |
| |------ DrawHead
| |
| |------ DrawCtlBtn
| |
| |------ ReDrawCtlBtn
| |
| |------ FadeDrawCtlBtn
| |
| |------ DrawCtlFream
| |
| |------ 置默认选中控件
| |
| |------ 最顶层
| |
| |------ 始终最顶层
| |
| |------ 最底层
| |
| |------ 边框可调
| |
| |------ 移动方式
| |
| |------ 禁止
| |
| |------ 可视
| |
| |------ 调整尺寸
| |
| |------ 置鼠标指针
| |
| |------ DispKeyDown
| |
| |------ KillCtlFocus
| |
| |------ 销毁
| |
| |------ 取客户区矩形
| |
| |------ 取窗口矩形
| |
| |------ 设置底图
| |
| |
======组件基类_WF
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ ProcCtl
| |
| |------ ProcTime
| |
| |------ 初始化
| |
| |------ 销毁
| |
| |------ 取ID
| |
| |------ 取窗口句柄
| |
| |------ 状态
| |
| |------ 取矩形
| |
| |------ 左边
| |
| |------ 顶边
| |
| |------ 宽度
| |
| |------ 高度
| |
| |------ 移动
| |
| |------ 鼠标样式
| |
| |------ 焦点
| |
| |------ 禁止
| |
| |------ 可视
| |
| |------ 透明度
| |
| |------ 时钟周期
| |
| |------ 置提示文本
| |
| |
======按钮_WF
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ ProcCtl
| |
| |------ ProcTime
| |
| |------ 创建
| |
| |------ 重绘
| |
| |------ 绘菜单钮
| |
| |------ 图片
| |
| |------ 文本
| |
| |
======复选框_WF
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ ProcCtl
| |
| |------ ProcTime
| |
| |------ 创建
| |
| |------ 重绘
| |
| |------ DispRadio
| |
| |------ 选中
| |
| |
======标签_WF
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ ProcCtl
| |
| |------ ProcTime
| |
| |------ 创建
| |
| |------ 重绘
| |
| |------ 标题
| |
| |
======图片框_WF
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ ProcCtl
| |
| |------ ProcTime
| |
| |------ 创建
| |
| |------ 重绘
| |
| |------ 置图片
| |
| |------ 边框
| |
| |
======编辑框_WF
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ ProcCtl
| |
| |------ ProcTime
| |
| |------ 创建
| |
| |------ 重绘
| |
| |------ _SetClient
| |
| |------ _DispChar
| |
| |------ _ShowLeft
| |
| |------ _DispIME
| |
| |------ _DispText
| |
| |------ _JudgeText
| |
| |------ _Index2Point
| |
| |------ _Point2Index
| |
| |------ _DispCursorMouse
| |
| |------ _BackWidth
| |
| |------ _DispKeyDown
| |
| |------ _DeleText
| |
| |------ _选择矩形
| |
| |------ 取文本内容
| |
| |------ 置文本内容
| |
| |------ 是否有光标
| |
| |------ 右键菜单
| |
| |
======超级列表框_WF
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ ProcCtl
| |
| |------ ProcTime
| |
| |------ 创建
| |
| |------ 重绘
| |
| |------ DrawList
| |
| |------ DrawScroll
| |
| |------ DrawLine
| |
| |------ DrawHead
| |
| |------ 插入列
| |
| |------ 插入表项
| |
| |------ CScroll
| |
| |------ Value2Top
| |
| |------ Top2Value
| |
| |------ FindID
| |
| |------ ShowID
| |
| |------ 置标题
| |
| |------ DeleteLine
| |
| |------ DeleteAll
| |
| |------ HotID
| |
| |------ PreID
| |
| |------ SelID
| |
| |------ GetTotle
| |
| |
======菜单_WF
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ CtlProc
| |
| |------ TimerProc
| |
| |------ 弹出菜单
| |
| |------ 弹出子菜单
| |
| |------ 添加条目
| |
| |------ DispKeyDown
| |
| |------ SetWidth
| |
| |------ 置字体信息
| |
| |------ FindID
| |
| |------ DrawText
| |
| |------ DrawMenu
| |
| |------ ReDraw
| |
| |------ 取指针
| |
| |------ 取句柄
| |
&n
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。