aardio 文档
aardio 范例: 用连接点注册事件
//事件输出参数
import win.ui;
/*DSG{{*/
var winform = win.form(text="用连接点注册事件";right=964;bottom=605)
winform.add(
edit={cls="edit";left=22;top=524;right=937;bottom=584;db=1;dl=1;dr=1;edge=1;multiline=1;vscroll=1;z=2};
static={cls="static";left=22;top=17;right=938;bottom=510;db=1;dl=1;dr=1;dt=1;edge=1;z=1}
)
/*}}*/
//嵌入 COM 控件
var browser = winform.static.createEmbedEx("Shell.Explorer.2");
//定义事件表
browser.BeforeNavigate2 = function( pDisp, url, flags, targetFrame, postData, headers, cancel ) {
winform.edit.print("BeforeNavigate2",url);
/*
aardio 基于纯函数原则,不会直接通过修改参数输出值,
如果是引用或输出参数,可在返回值里返回新的参数值。
首先是返回函数本身的返回值(没有就不用返回),
然后依传入的前后顺序返回所有输出参数的值,
可以省略返回值,但不能改变返回值的位置。
例如这个事件,cancel 参数返回 true 就可以阻止打开 url 参数指定的网址,
但 cancel 必须是第 6 个返回值。
*/
return url, flags, targetFrame, postData, headers, cancel;
//阻止网页打开
//return url, flags, targetFrame, postData, headers, true;
};
//调用 COM 对象打开网页
browser.Navigate("about:hello");
winform.show(3/*_SW_MAXIMIZE*/);
win.loopMessage();
Markdown 格式