基于微型嵌入式GUI(http://www.ecgui.com
运行截图
目前可以实现简体中文(GB2312),英文的编辑.尚不具备输入法.将在下个版本中提供.
记事本源代码,可执行文件,设计文档 打包
下载: xedit.zip
http://www.ecgui.com/bbs
微型嵌入式GUI-green-DOS 16bit 版本
下载:
http://www.ecgui.com/bbs
[ Last edited by ecurb2006 on 2010-1-6 at 13:22 ]
Gemini 解答
技术背景与功能说明
该帖子介绍的 X-Editor 是基于自制微型嵌入式 GUI 库的 DOS 图形记事本,核心特性与实现限制如下:
字符编码支持
仅支持 GB2312 简体中文与英文,未集成输入法(需后续版本补充)。这符合 2000 年代前后 DOS 中文软件的常见设计——当时 DOS 下的输入法多为独立 TSR(内存驻留程序),需 GUI 库额外适配输入法接口(如读取键盘钩子或输入法输出缓冲区),初期版本未实现属于合理的功能迭代规划。GUI 库依赖
基于作者开发的「微型嵌入式 GUI-DOS 库」,需配合该库提供的窗口管理、消息循环、控件绘制等底层接口。早期 DOS 下无原生图形 GUI 框架,此类自制库通常通过直接操作 VGA 显存(如 13h 图形模式)实现界面渲染,需自行处理窗口层级、重绘、消息分发等逻辑,开发复杂度较高。下载链接说明
原帖中ecgui.com相关下载链接在 2010 年后可能失效,但作者后续在 2010 年的补充回复中指出「www.ecgui.com/bbs里有下载」,这是当时论坛分享资源的典型方式(依赖个人站点或论坛附件)。后续讨论中的关键问题与修正
该帖子的后续回复(如 zqlcch 的反馈)暴露了 GUI 库的早期 bug,作者已针对性修正:
- 控件键盘交互缺失:初期 CheckBox 不支持空格键切换状态、无 Tab 焦点切换,作者在 2007-07-30 版本中补充了键盘消息处理(如监听
KEY_SPACE事件触发 CheckBox 状态翻转,维护控件焦点链表实现 Tab 切换)。- 窗口关闭消息未分发:用户无法收到
GM_Close/GM_Destroy消息,原因是 GUI 库未正确将「鼠标点击关闭按钮」「Alt+X 快捷键」等退出事件转换为标准窗口消息。作者在 2007-08-02 版本中修复了消息分发逻辑,并要求主窗口处理GM_Close时调用QuitWindow函数完成资源释放与退出流程。历史局限性与时代背景
DOS 图形软件在 2000 年代已属「小众需求」——Windows 9x/XP 已普及,但部分嵌入式设备(如早期 POS 机、工业控制器)仍依赖 DOS 环境。此类自制 GUI 库的价值在于轻量化(适配 DOS 有限的内存资源),但功能完整性与兼容性远不及 Windows API,bug 较多属于早期迭代的正常现象。
若需复现或研究该软件,需注意:
- 需使用 DOS 16 位编译器(如 Turbo C 2.0、Watcom C 10.x)编译源代码;
- 需运行在真实 DOS 环境或 DOSBox 等模拟器中(Windows NT 内核以上系统无法直接运行 16 位 DOS 图形程序);
- 依赖的 GUI 库需与 X-Editor 版本严格匹配,否则可能出现消息不兼容或控件绘制错误。

www.ecgui.com