创建 HTMLayout 窗口。
此对象支持多线程界面回调,可传入工作线程使用
dll;
追加默认CSS,
必须在创建HTMLayout窗体,以及调用其他函数以前调用
追加默认CSS文件
CSS文件请使用UTF编码保存,
必须在创建HTMLayout窗体,以及调用其他函数以前调用
创建节点,
节点内容可省略
声明标记,
必须在创建HTMLayout窗体,以及调用其他函数以前调用,
并且须要早于设置MasterCss的函数调用
替换默认CSS
必须在调用其他函数之前调用
在HTMLayout中的behavior对象,或eventHandle对象中可添加此成员变量,
使用一个或多个 HL_HANDLE 前缀的掩码来指定 指定订阅的事件
如果未显示指定该参数,程序将自动设定为合适的值
从窗口对象创建 HTMLayout 窗口。
参数二默认为 _HL_HANDLE_LITE - 仅允许捕获按钮命令等基本交互事件
使用CSS选择器语法,
查找所有符合条件节点
使用CSS选择器语法,
查找第一个符合条件节点
自定义控件
weblayoutObject.addHeaders = /**
Accept-Language: cn
/*设置默认的HTTP请求头
多个请求头使用回车换行分隔*/
**/
添加事件监听对象,参数一不可省略,
subscription 可选使用 HL_HANDLE 前缀常量指定捕获的事件,
省略该参数则根据定义的回调函数自动设定该值,
也可以使用对象的 _event_subsriptions 成员指定该值,
该函数返回事件ID,用于注销监听
weblayoutObject.callback = function ( message,wParam,lParam,vParam,notifyCode ) {
}
将URL转换为绝对路径,
可省略参数返回 baseURL
立即更新所有节点
因为节点可能会延迟更新,
需要立即获取节点更新后的位置可调用此函数
该函数不会调用updateWindow
创建节点,
节点内容可省略
weblayoutObject.css = /**
#my-button{
behavior:"my.command";
active-on!:
/*输入CSS脚本,语句用逗号分隔*/
;
}
**/
import web.layout.debug;
weblayoutObject.attachEventHandler( web.layout.debug );
注销事件监听对象,事件ID不可省略
weblayoutObject.enumQuery(
function(ltEle){
/*返回true停止枚举*/
},"div"
)
weblayoutObject.enumRes(
function(uri,resType,imgData,size){
/*枚举页面页源*/
}
)
weblayoutObject.eventsHandler = function (tag,he,evtg,prms) {
}
参数三可选,默认为窗口客户区坐标
成功返回节点对象
根据ID或name查找节点,
并获取在该节点中自定义的控件对象
根据ID查找节点
如果未找到,尝试使用name查找
根据唯一标志符(数值)返回节点
根据name属性查找节点
获取当前输入焦点所在节点
跳转到指定网址,支持aardio资源文件
如果参数指定的是aardio文件,参数@2可选用一个表指定request.get对象
其他文件可用参数@2指定代码页,默认为65001
weblayoutObject.html = /**
<!doctype html>
<html>
<head>
<style type="text/css">
html,body{ height:100%; margin:0; }
</style>
</head>
<body>
<div id="header"></div>
<div id="container">
<div class="lside"> </div>
<div class="rside"> </div>
</div>
</body>
</html>
**/
使用aardio模板语法加载HTML文件
可选在第二个参数中传入模板参数,
模板代码中使用owner参数获取首个模板参数
当前页面URL,
只读属性
weblayoutObject.onControlCreated = {
节点ID = function( ltEle,ltCtrl ){
/*onControlCreate也可以是一个函数,在onElementControlCreated之前被触发*/
}
}
weblayoutObject.onDataLoaded = function(lParam) {
var dataLoaded = raw.convert(lParam,{
struct hdr = ::NMHDR();
ustring uri;
ptr data;
INT dataSize;
INT dataType;
INT status;
});
/*单个文件数据加载完成后触发*/
}
weblayoutObject.onDocumentComplete = function() {
/*文档已加载*/
}
参数可以是字符串或键值对组成的表对象
该函数可触发onDataArrived事件
使用CSS选择器语法,
查找第一个符合条件节点,
如果有多个参数则首先调用string.format格式化为CSS文本,
该函数名可使用'$1'代替,等价于CSS!中的$1函数
使用CSS选择器语法,
查找所有符合条件节点,
如果有多个参数则首先调用string.format格式化为CSS文本,
该函数名可使用'$'代替,等价于CSS!中的$函数
获取当前状态,可能返回的值:
'uninitialized','loading','complete'
替换CSS
设置模式
_HLM_SHOW_SELECTION 类似于在body节点应用behavior:htmlarea
设置选项
结构体参数是 web.layout.event.MOUSE_PARAMS 或 KEY_PARAMS
该函数发送事件经过捕获与冒泡过程直到事件被处理
更新窗口
如果仅仅需要更新节点位置等,可调用commitUpdates函数
等待所有资源加载完成
写入HTML代码到网页
HTMLayout.dll
_BLOCK_BLOCK_ELEMENT=4
_BLOCK_TEXT_ELEMENT=3
_DATA_ELEMENT=0
_HLELMBLOCK_BLOCK_ELEMENT=4
_HLELMBLOCK_TEXT_ELEMENT=3
_HLELMDATA_ELEMENT=0
_HLELMINLINE_BLOCK_ELEMENT=2
_HLELMINLINE_TEXT_ELEMENT=1
_HLM_LAYOUT_ONLY=0
_HLM_SHOW_SELECTION=1
_HLN_ATTACH_BEHAVIOR=0xB07
_HLN_CONTROL_CREATED=0xB02
_HLN_CREATE_CONTROL=0xB00
_HLN_DATA_LOADED=0xB03
_HLN_DESTROY_CONTROL=0xB06
_HLN_DIALOG_CLOSE_RQ=0xB10
_HLN_DIALOG_CREATED=0xB0F
_HLN_DOCUMENT_COMPLETE=0xB04
_HLN_LOAD_DATA=0xB01
_HLN_UPDATE_UI=0xB05
_HLRT_DATA_CURSOR=3
_HLRT_DATA_HTML=0
_HLRT_DATA_IMAGE=1
_HLRT_DATA_SCRIPT=4
_HLRT_DATA_STYLE=2
_HL_ANIMATION_THREAD=5
_HL_CONNECTION_TIMEOUT=2
_HL_DISABLE_INITIALIZATION=0x80000000
_HL_FONT_SMOOTHING=4
_HL_HANDLE_ALL=0xFFFF
_HL_HANDLE_BEHAVIOR_EVENT=0x100
_HL_HANDLE_DATA_ARRIVED=0x80
_HL_HANDLE_DRAW=0x40
_HL_HANDLE_EXCHANGE=0x1000
_HL_HANDLE_FOCUS=4
_HL_HANDLE_GESTURE=0x2000
_HL_HANDLE_INITIALIZATION=0
_HL_HANDLE_INPUT=0x80000007
_HL_HANDLE_KEY=2
_HL_HANDLE_LITE=0x80000100
_HL_HANDLE_METHOD_CALL=0x200
_HL_HANDLE_MOUSE=1
_HL_HANDLE_SCROLL=8
_HL_HANDLE_SIZE=0x20
_HL_HANDLE_TIMER=0x10
_HL_HTTPS_ERROR=3
_HL_OPTIONS_ANIMATION_THREAD=5
_HL_OPTIONS_CONNECTION_TIMEOUT=2
_HL_OPTIONS_FONT_SMOOTHING=4
_HL_OPTIONS_HTTPS_ERROR=3
_HL_OPTIONS_SMOOTH_SCROLL=1
_HL_OPTIONS_TRANSPARENT_WINDOW=6
_HL_SMOOTH_SCROLL=1
_HL_TRANSPARENT_WINDOW=6
_HWND_DISCARD_CREATION=1
_HWND_TRY_DEFAULT=0
_INLINE_BLOCK_ELEMENT=2
_INLINE_TEXT_ELEMENT=1
_LOAD_DISCARD=1
_LOAD_OK=0
_SIH_APPEND_AFTER_LAST=2
_SIH_INSERT_AT_START=1
_SIH_REPLACE_CONTENT=0
_SOH_INSERT_AFTER=5
_SOH_INSERT_BEFORE=4
_SOH_REPLACE=3