开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 12649|回复: 84
收起左侧

[易语言纯源码] [Win32]全自绘hex控件

[复制链接]
结帖率:75% (3/4)
发表于 2022-2-26 18:09:39 | 显示全部楼层 |阅读模式   陕西省渭南市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
前几天有人需要这个hex控件, 所以整理一下发上来



特色: 全自绘组件(非编辑框, 列表框魔改). 原生支持字节集, 可以以较快的速度编辑字节数据, 可以自定义右键菜单

技术点: 展示hex数据(ExtTextOut), 自定义滚动条, 插入符(Caret系列函数), 支持IME(Imm系列函数)

这个版本的hex控件是此工具的一部分:
[震撼发布]易语言工具箱1.0-简单说又是一个编程助手_精易论坛 (125.la)

大概说一下吧, 这个是几年前写的, 初衷是保持小体积和模块化, 然而工具写到一半, 得去学校了, 就暂时停了一下.
然而等放假再回来的时候, 原来的程序结构都快忘光了...最后弃更

现在不玩易了, 所以应该不会再更新, 但是需要展示hex的程序可以拿去直接用, 或者就把它当作一个学习资源吧

从现在来看, 这个控件有很多槽点, 列举其中一些:

1. 硬编码
2. 缺失的撤销重复功能
3. DPI不支持(不过问题不大)
4. 错误地使用GWL_USERDATA
5. 快捷键应该使用Accelator(加速键)
6. 可能有微量内存泄漏
7. ...

对于修改/重写hex控件的建议:

1. 把顶部和侧边栏独立出来, 对于一些控件更新, 应该部分重画而不是全部重画
2. 把数据接口抽象出来, 否则不支持打开大于2G的文件或者非字节集数据
3. 横向滚动时, 不应该滚动侧边栏
4. 考虑增加只读功能
5. 可以有折叠功能

另外, 如果真要写自绘一个什么东西的控件, 你得考虑很多东西, 否则会再某些特定情况出现问题
推荐一下这本书 The Old New Thing(windows编程启示录) 的Taxes(税收问题?)一章
这里面有描述一些要考虑的问题(远程桌面, 多语言, DPI, 辅助功能接口)

源码:

hex.e (124.44 KB, 下载次数: 227)

评分

参与人数 8好评 +7 精币 +18 收起 理由
qiyuer + 1 感谢分享,很给力!~
帅气与大侠 + 1 + 3 支持开源~!感谢分享
冰点 + 1 + 3 感谢分享,很给力!~
易语言资源网 + 1 + 3 支持开源~!感谢分享
AnxiangLemon + 1 + 1 辛苦了
camingo + 1 + 2 这么厉害!必须给个红包鼓励下~
猪滴寳貝哝 + 1 + 2 感谢分享,很给力!~
maozaiba + 1 + 3 奉上小小红包希望笑纳

查看全部评分


本帖被以下淘专辑推荐:

发表于 2024-3-17 15:47:11 | 显示全部楼层   湖南省长沙市
谢谢分享
回复 支持 反对

使用道具 举报

发表于 2023-9-16 19:20:24 | 显示全部楼层   广东省惠州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 17 天

发表于 2023-8-30 21:06:16 | 显示全部楼层   江苏省苏州市
66666666666666666
回复 支持 反对

使用道具 举报

发表于 2023-8-15 21:20:04 | 显示全部楼层   海南省海口市
谢谢大佬分享 支持支持
回复 支持 反对

使用道具 举报

结帖率:57% (4/7)

签到天数: 5 天

发表于 2023-2-21 15:23:38 | 显示全部楼层   江苏省苏州市
感谢分享!!!!!!
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 11 天

发表于 2023-2-16 01:57:36 | 显示全部楼层   湖北省宜昌市
感谢大佬分享
回复 支持 反对

使用道具 举报

签到天数: 6 天

发表于 2023-2-7 14:29:28 | 显示全部楼层   湖北省恩施土家族苗族自治州
奥术大师多
回复 支持 反对

使用道具 举报

签到天数: 19 天

发表于 2023-2-6 08:46:39 | 显示全部楼层   新疆维吾尔自治区乌鲁木齐市
谢谢分享
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-2-5 14:04:06 | 显示全部楼层   浙江省杭州市

++

6666666666666666666
回复 支持 反对

使用道具 举报

发表于 2023-1-26 14:41:29 | 显示全部楼层   上海市上海市
谢谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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