开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 822|回复: 83
打印 上一主题 下一主题
收起左侧

[易源码分享] API通用窗口类库demo(纯源码无任何模块)

[复制链接]
结帖率:100% (23/23)
跳转到指定楼层
楼主
发表于 昨天 01:48 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   湖北省武汉市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
本帖最后由 mosheng 于 2026-3-2 01:52 编辑
纯源码,无任何dll无任何模块



结合上次开源的自定义窗口和无边框整合到一起,这次增加了按钮的圆角

1、自定义浏览器窗口 api绘制窗口
https://bbs.ijingyi.com/forum.php?mod=viewthread&tid=14872996



2、易语言API无边框浏览器,可拖拽可调整大小
https://bbs.ijingyi.com/forum.php?mod=viewthread&tid=14872997


这两个是带了浏览器模块的,这次开源的就纯源码了,没有任何模块和dll,



实现的核心功能

1. 窗口功能(13项)

  • 标准窗口 / 无边框窗口
  • 可调整大小 / 窗口拖动
  • 自定义背景色
  • 窗口置顶
  • 最小化/最大化/系统菜单按钮控制
  • 窗口透明度(0-255)
  • 动态修改标题
  • 窗口刷新
  • 自定义窗口图标(系统图标/文件图标)

2. 按钮功能(20项)

  • 位置、大小、文本自定义
  • 前景色、背景色
  • 字体(名称、大小、粗体、斜体、下划线)
  • 文字对齐(左/中/右)
  • 启用/禁用、显示/隐藏
  • 点击事件回调
  • 动态修改文本、字体、位置
  • 圆角按钮(自定义圆角半径)
  • 圆角按钮抗锯齿渲染(GDI+)

3. 编辑框功能(24项)

  • 位置、大小、文本自定义
  • 前景色、背景色
  • 字体(名称、大小、粗体、斜体、下划线)
  • 文字对齐(左/中/右)
  • 单行/多行模式
  • 只读模式
  • 密码框
  • 边框控制
  • 启用/禁用、显示/隐藏
  • 获取/设置文本
  • 动态修改字体、位置

4. 标签功能(17项)

  • 位置、大小、文本自定义
  • 前景色、背景色
  • 字体(名称、大小、粗体、斜体、下划线)
  • 文字对齐(左/中/右)
  • 启用/禁用、显示/隐藏
  • 动态修改文本、字体、位置

5. 通用功能(7项)

  • 通过ID或名称操作控件
  • 事件回调(窗口大小改变、按钮点击)
  • 用户数据存储
  • 多窗口支持
  • 控件刷新
  • RGB颜色转换

总计:81项功能


样式自定义能力

窗口样式

属性 说明 示例
标题 窗口标题文字 "我的应用"
大小 宽度、高度 800 x 600
位置 X、Y坐标 (100, 100)
背景色 RGB颜色 (250, 250, 250)
无边框 是否无边框 真/假
可调整大小 是否可调整 真/假
置顶 是否置顶 真/假
透明度 0-255 255(不透明)
最小化按钮 显示/隐藏 真/假
最大化按钮 显示/隐藏 真/假
系统菜单 显示/隐藏 真/假
窗口图标 系统图标/文件图标 IDI_APPLICATION / "C:\icon.ico"

控件样式

属性 说明 适用控件
位置 X、Y坐标 全部
大小 宽度、高度 全部
文本 显示内容 全部
前景色 文字颜色 全部
背景色 背景颜色 全部
字体名称 字体 全部
字体大小 大小 全部
字体粗体 粗体 全部
字体斜体 斜体 全部
字体下划线 下划线 全部
文字对齐 左/中/右 全部
启用/禁用 状态 全部
显示/隐藏 可见性 全部
只读 只读模式 编辑框
多行 多行模式 编辑框
密码框 密码模式 编辑框
边框 显示边框 编辑框
圆角半径 圆角大小(像素) 按钮

使用示例

最简示例(3行代码)

窗口配置.标题 = "Hello"
窗口配置.宽度 = 800
窗口配置.高度 = 600
我的窗口.创建窗口(窗口配置)

完整样式示例

' 窗口
窗口配置.标题 = "样式演示"
窗口配置.背景颜色 = 我的窗口.取RGB值(250, 250, 250)
窗口配置.透明度 = 255
窗口配置.窗口图标 = LoadIconA(0, #IDI_APPLICATION)
窗口配置.最小化按钮 = 真
窗口配置.最大化按钮 = 真
我的窗口.创建窗口(窗口配置)

' 圆角按钮
控件配置.文本 = "点击我"
控件配置.前景色 = 我的窗口.取RGB值(255, 255, 255)
控件配置.背景色 = 我的窗口.取RGB值(0, 120, 215)
控件配置.字体名称 = "微软雅黑"
控件配置.字体大小 = 16
控件配置.字体粗体 = 真
控件配置.文字对齐 = 1  ' 居中
控件配置.圆角半径 = 10  ' 圆角半径10像素
按钮ID = 我的窗口.创建按钮(控件配置)

自定义图标示例

' 使用系统图标
窗口配置.窗口图标 = LoadIconA(0, #IDI_APPLICATION)

' 从文件加载自定义图标
窗口配置.窗口图标 = LoadImageA(0, "C:\myicon.ico", #IMAGE_ICON, 0, 0, #LR_LOADFROMFILE)

' 指定图标大小(32x32)
窗口配置.窗口图标 = LoadImageA(0, "D:\图标\app.ico", #IMAGE_ICON, 32, 32, #LR_LOADFROMFILE)

技术亮点

1. 面向对象设计

  • 使用类封装,代码结构清晰
  • 支持创建多个窗口实例
  • 自动资源管理

2. 全局窗口映射

  • 统一管理所有窗口实例
  • 消息路由机制
  • 避免全局变量混乱

3. 窗口子类化

  • 拦截窗口消息
  • 自定义消息处理
  • 不影响原有功能

4. 事件驱动

  • 回调机制
  • 用户数据传递
  • 灵活的事件处理

5. 样式系统

  • 完整的样式配置
  • 动态样式修改
  • RGB颜色支持

6. 圆角按钮技术

  • GDI+ 抗锯齿渲染
  • 自定义圆角半径
  • 平滑的视觉效果
  • 支持鼠标悬停状态

7. 图标加载系统

  • 支持系统预定义图标
  • 支持从文件加载 .ico 图标
  • 支持自定义图标尺寸
  • 自动回退到默认图标

适用场景

  • 自定义界面应用
  • 工具软件开发
  • 数据录入程序
  • 系统管理工具
  • 桌面小工具
  • 无边框美化窗口
  • 透明窗口效果
  • 多窗口管理系统
  • 现代化UI设计

学习价值

通过这个项目,您可以学习到:

  1. Windows API编程 - 窗口创建、消息处理
  2. 面向对象设计 - 类的封装和使用
  3. 事件驱动编程 - 回调机制
  4. 资源管理 - GDI对象的创建和释放
  5. 窗口子类化 - 消息拦截技术
  6. 全局状态管理 - 窗口映射表
  7. GDI+ 图形编程 - 抗锯齿渲染技术
  8. 自绘控件 - 自定义控件外观

项目优势

vs 易语言原生组件

  • 更灵活的样式自定义
  • 更简洁的API设计
  • 更好的代码组织
  • 支持无边框窗口
  • 支持窗口透明度
  • 支持圆角按钮
  • 支持自定义图标

vs 纯API编程

  • 无需处理复杂的消息循环
  • 自动资源管理
  • 面向对象接口
  • 更少的代码量
  • 更容易维护

创建时间: 2026-03-02
版本: v2.0
作者: mosheng



源码回复可见
游客,如果您要查看本帖隐藏内容请回复

点评

直接给封装成模块源码吧 不然我总是忍不住想抠出来用 但是吧 扣的时候又很麻烦   安徽省六安市  发表于 昨天 19:33

评分

参与人数 9好评 +6 精币 +18 收起 理由
cui870222829 + 1 感谢分享,很给力!~
zjbin1989 + 1 感谢分享,很给力!~
猪滴寳貝哝 + 1 + 2 感谢分享,很给力!~
inat + 1 + 2 感谢分享,很给力!~
李泽勇2 + 1 + 3 很厉害,感谢分享!
国王软件 + 1 + 3 支持开源~!感谢分享
myface + 1 + 2 支持开源~!感谢分享
sinewtec + 1 + 3 开源精神必须支持~
kyo9766 + 1 感谢分享,很给力!~

查看全部评分


本帖被以下淘专辑推荐:

结帖率:100% (23/23)

签到天数: 3 天

来自 2楼
 楼主| 发表于 昨天 01:54 | 只看该作者   湖北省武汉市

未来计划

可能添加的功能

  • [ ] 复选框控件
  • [ ] 单选按钮控件
  • [ ] 列表框控件
  • [ ] 组合框控件
  • [ ] 进度条控件
  • [ ] hk控件
  • [ ] 图片框控件
  • [ ] 更多事件回调(鼠标、键盘等)
  • [ ] 控件分组功能
  • [ ] 布局管理器
  • [ ] 主题系统
回复 支持 反对

使用道具 举报

结帖率:80% (20/25)

签到天数: 3 天

83
发表于 6 小时前 | 只看该作者   广西壮族自治区玉林市
++++++++++++++++++++++++++++++++++
回复 支持 反对

使用道具 举报

结帖率:96% (24/25)

签到天数: 3 天

82
发表于 6 小时前 | 只看该作者   广东省广州市
直接搞吧这样可以抛弃exui
回复 支持 反对

使用道具 举报

结帖率:100% (9/9)

签到天数: 3 天

81
发表于 6 小时前 | 只看该作者   湖南省郴州市
看看跟exdui这类自给模块的区别
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 3 天

80
发表于 6 小时前 | 只看该作者   天津市天津市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

签到天数: 3 天

79
发表于 6 小时前 | 只看该作者   广东省汕头市
66666666666666666
回复 支持 反对

使用道具 举报

签到天数: 2 天

78
发表于 昨天 23:01 | 只看该作者   山东省临沂市
        感 谢 分 享,很 给 力!~
回复 支持 反对

使用道具 举报

签到天数: 2 天

77
发表于 昨天 22:58 | 只看该作者   山西省太原市
这个是真牛B。哈哈,看着不错。
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 2 天

76
发表于 昨天 22:47 | 只看该作者   江西省赣州市
支持一下
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 1 天

75
发表于 昨天 22:07 | 只看该作者   河北省秦皇岛市
好东西,学习了
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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