给duilib增加脚本支持(一)

 

 

    使用的脚本是angelscript, 是开源的, 官方网址: http://www.angelcode.com/angelscript/

    布局文件中, 有2种写法.

    第一种

 

    由于内嵌脚本的方式, 又涉及到复杂的xml解析。所以,内嵌脚本的方式不要影响CMarkup解析。

    先举个例子,

    buttom.as的文件内容

void main2(CControlUI @obj)
{
 obj.SetBkColor(0xFF00FF00);
}

 

如下书写xml布局文件







 

    脚本一共定义了3个函数: OnControlInit, main, main2,  脚本的入口函数参数固定为 CControlUI @obj, 注意@这个符号表示C++里面的引用。

    实现效果,

    当OnInit时,调用OnControlInit, 设置控件背景色

    当获得焦点时, 调用main, 设置控件背景色

    当失去焦点时, 调用main2,设置控件背景色

 
 


代码共享地址:

https://gitee.com/Liqs99/DuiLib_DuiEditor

https://github.com/xfcanyue/DuiLib_DuiEditor



你可能感兴趣的:(duilib)