易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

[Win32]全自绘hex控件   [复制链接]

    2022-03-07 10:14:18
    模块控件源码
    易语言资源网
    3647 次浏览
    来源链接
前几天有人需要这个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, 辅助功能接口)

点我下载 (已有 108 次下载)

引用模块





引用支持库


源码文件名 支持库文件名 支持库标识
hex.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0


[错误报告]   上一篇:文本拼接,支持无限参数...     下一篇:EXDUI仿一个登录界面...