易语言资源网 - 做最全的易语言资源下载社区
<易语言软件开发工程师>特训 第14期(预报名) 精易论坛授权登录

黑月界面生成模块开源(一键生成黑月界面)   [复制链接]

    2019-03-11 11:45:08
    系统工具源码
    易语言资源网
    11275 次浏览
    来源链接

一、前言

’黑月编译器配合黑月界面类写的黑月程序编译后效果非常不错,

能大大减少程序体积,还能一定程度减少报毒(配置不当也可能增加误报)。

但是黑月无界面写界面的代码就比较麻烦。

3.0版以前还有个界面设计器,生成界面比较方便。

3.0版以后没有界面设计器,这样写界面就比较麻烦了,

就算照搬例程里的源码,也要大幅改动。

幸好有不少易友研究出了新的生成黑月界面代码方法。

大致原理就是利用寻找组件把原来的界面信息转换成黑月的界面代码。

二、综述



本次开源的模块就是在易友(精易HugBear和taizhong)的模块源码或模块基础上,增删了一些代码(3月),

分解合并结构优化(6月),并添加了一些常用组件事件(比如有按钮基本就有单击事件),

适配黑月界面类模块3-3.7版。推荐使用黑月界面类模块3.6及以上。


三、模块更新说明:


1.0版:在易友(精易HugBear和taizhong)的模块源码或模块基础上,增删了一些代码(3月)

分解合并结构优化(6月),并添加了一些常用组件事件(比如有按钮基本就有单击事件)适配黑月界面类模块3-3.7版。



1.1版:修复一处描述错误和一处多余的空格。

增加了超级编辑框转换成黑月的丰富文本框。

增加了超级按钮的转换。

增加了超级链接框的转换。



1.2版:增加了图片框的相关代码,方便直接使用图片框。



1.3版:删除了单选框自动生成风格代码,原自动生成的风格导致导致显示异常。

注意:如果生成的黑月界面组件显示异常或功能异常,可以将窗口风格和扩展风格删除留空,

然后根据需要使用黑月界面类模块里的常量(比如#窗口风格_xxx)。

增加了颜色选择器的转换。

增加了菜单相关代码(被选择和右键弹出菜单)方便直接使用菜单功能。

增加了树型框自动生成项目代码功能和项目被选择事件代码。



四、待优化的地方

容器组件(目前有4个,窗口、外形框、分组框和选择夹,这里特指能嵌套其他组件的组件或窗口)

1.多窗口

暂时解决方法:用逐个窗口依次运行单窗口生成程序集的方法逐个拼接生成,

可能需要自行添加载入_窗口(或者load_窗口)等代码。

2.选择夹

涉及黑月的面板类,情况比较复杂。

测试中发现还有一些问题,没很好解决。

问题产生原因:单纯依靠寻找组件无法分辨出原组件所在子夹,通过窗口句柄无法分辨出原子夹。

临时解决办法:只能把所有在选择夹内面的组件父窗口设为面板[1],

这样需要根据实际情况把面板[1](假设原子夹索引为n-1)修改为正确面板[n]

3.容器组件相互嵌套

其实主要就是2提到的涉及选择夹容易出问题

极端情况就是两个选择夹嵌套,一般情况是不会出现这种情况。

临时解决办法:就是把内部选择夹转移出来生成代码后再修改对应父窗口。



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

引用模块


源码文件名 模块文件名
普通界面1.3demo.e
黑月界面生成模块1.3.ec
转化黑月界面.e
黑月界面类.ec


引用支持库


源码文件名 支持库文件名 支持库标识
普通界面1.3demo.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
拖放支持库 2.0 {9DA96BF9CEBD45c5BFCF94CBE61671F5}
扩展界面支持库一 2.0 27bb20fdd3e145e4bee3db39ddd6e64c
超文本浏览框支持库 2.2 5014D8FA6DCA40b68FA626D8183666EB
扩展界面支持库二 2.0 AF6AD80AA4244A59AFB3D83ECF5173CC
转化黑月界面.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.0 A512548E76954B6E92C21055517615B0
黑月界面生成模块1.3源码.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
扩展界面支持库二 2.0 AF6AD80AA4244A59AFB3D83ECF5173CC
扩展界面支持库一 2.0 27bb20fdd3e145e4bee3db39ddd6e64c
超文本浏览框支持库 2.2 5014D8FA6DCA40b68FA626D8183666EB
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0


[错误报告]   上一篇:易语言版快速排序算法...     下一篇:简单限制窗口位置和尺寸...