黑月界面一键生成模块,黑月编译器

易语言 2020-04-23 17:50:24

黑月界面一键生成模块,黑月编译器

以后没有了界面设计器,这样写界面就比较麻烦了,
就算照搬例程里的源码,也要大幅改动。
幸好有不少易友研究出了新的生成黑月界面代码方法。
大致原理就是利用寻找组件把原来的界面信息转换成黑月的界面代码。

本次开源的模块就是在易友(HugBear和taizhong)的模块源码或模块基础上,增删了一些代码(3月),
分解合并结构优化(6月),并添加了一些常用组件事件(比如有按钮基本就有单击事件),
适配黑月界面类模块3-3.7版。推荐使用黑月界面类模块3.6及以上。

待优化的地方
容器组件(目前有4个,窗口、外形框、分组框和选择夹,这里特指能嵌套其他组件的组件或窗口)
1.多窗口
暂时解决方法:用逐个窗口依次运行单窗口生成程序集的方法逐个拼接生成,
可能需要自行添加载入_窗口(或者load_窗口)等代码。

2.选择夹
涉及黑月的面板类,情况比较复杂。
测试中发现还有一些问题,没很好解决。
问题产生原因:单纯依靠寻找组件无法分辨出原组件所在子夹,通过窗口句柄无法分辨出原子夹。
临时解决办法:只能把所有在选择夹内面的组件父窗口设为面板[1],
这样需要根据实际情况把面板[1](假设原子夹索引为n-1)修改为正确面板[n]

3.容器组件相互嵌套
其实主要就是2提到的涉及选择夹容易出问题
极端情况就是两个选择夹嵌套,一般情况是不会出现这种情况。
临时解决办法:就是把内部选择夹转移出来生成代码后再修改对应父窗口。

PS:这个模块本来就打算开源的,只是原定在10月左右开源,
但是今天看到编译器又更新了,所以干脆早点开源,一个人的能力毕竟有限,共同研究才是大势所趋。