开源
功能说明: 该程序是一个基于易语言开发的窗口应用程序,主要功能是实现一个自定义的文本输入与编辑环境。程序利用“动画框”控件作为文本显示和交互的核心区域,通过 API 调用和自定义子程序来实现标准编辑框无法提供的精细控制。
程序的核心功能模块如下:
1. 输入处理机制:程序通过 `_动画框 1_字符输入` 子程序捕获用户的字符输入,将字符代码存入 `传递数据` 字节数组。随后利用 `时钟 1` 的周期事件来处理这些缓存数据,逻辑中区分了全角和半角字符的长度计算,并循环调用 `子程序_画文本` 将字符逐个渲染为界面上的独立对象。输入完成后会重置数据数组。
2. 自定义光标管理:程序实现了完整的自定义光标功能。在窗口首次激活或动画框获得焦点时,分别调用 `API_创建光标` 和 `API_显示光标`。通过 `_动画框 1_按下某键` 子程序监听方向键(上下左右)、Home 键、End 键及删除键。程序通过计算文本对象的左边、顶边、宽度和高度坐标,调用 `API_设置光标位置` 来实现光标在文本对象间的精确移动和定位。
3. 文本样式控制:界面包含“加粗”、“斜体”、“下划线”三个超级按钮。点击按钮会通过 `_超级按钮_加粗/斜体/下划线_被单击` 子程序切换按钮的风格状态(0 或 1)。在 `子程序_画文本` 中,程序会读取这些按钮的当前状态,并相应地设置新绘制文本对象(动画物体 1)的字体属性(加粗、倾斜、下划线),从而实现富文本编辑效果。
4. 文本渲染与编辑逻辑:文本并非作为单一字符串处理,而是作为独立的“物体”绘制在动画框上,对象标识存储在 `内容` 整数数组中。程序支持删除文本操作,包括退格键(字符代码 8)和 Del 键,分别调用 `子程序_删文本` 进行处理。光标移动逻辑中包含了复杂的坐标计算,以确保光标能正确跳转到上一行、下一行或行首行尾。
5. 总结:该程序是一个富文本编辑器的前端核心逻辑实现,展示了如何在易语言中通过底层 API 和控件组合,构建具有自定义光标、样式切换及精确位置控制的文本输入组件。适用于需要高度定制文本显示和交互界面的场景。
======窗口程序集1
| |
| |------ __启动窗口_首次激活
| |
| |------ _动画框1_获得焦点
| |
| |------ _动画框1_字符输入
| |
| |------ _时钟1_周期事件
| |
| |------ _超级按钮_加粗_被单击
| |
| |------ _超级按钮_斜体_被单击
| |
| |------ _超级按钮_下划线_被单击
| |
| |------ _动画框1_按下某键
| |
| |------ 子程序_画文本
| |
| |------ 子程序_画出
| |
| |------ 子程序_删文本
| |
| |------ 子程序_取光标左边物体
| |
| |------ 子程序_取光标右边物体
| |
| |------ 子程序_取行末物体
| |
| |------ _动画框1_鼠标左键被按下
| |
| |------ _超级按钮_插入图片_鼠标左键被按下
| |
| |
======调用的Dll
| |
| |---[dll]------ API_创建光标
| |
| |---[dll]------ API_显示光标
| |
| |---[dll]------ API_设置光标位置
| |
| |---[dll]------ API_隐藏光标
| |
| |---[dll]------ API_取得光标位置
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。