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

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

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

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

引用模块

无



引用支持库


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


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