您的位置:首页 > Web前端 > HTML

AX下HTML控件深入研究

2014-06-26 10:30 218 查看


使用AX
开发人很少有人使用From
的HTML
控件,其实它非常强大,是个ActiveX Exporer
控件。
它不但可以开发HTML
代码,而且兼容JS,所有IE
可以显示的它都可以,所以在这里WEB
开发比较流行的AJAX应用也可以放在AX里去实现,是不是很激动呢?
我们来展现一下测试程序的结果:

这是AX中的一个From窗体,使用的HTML控件做的web开发,这个窗体涉及到两种技术,
HTML和JS。
它实现的功能是,当我在第一个文本框里输入字符的时候,点击确定则在第而个也显示同样
的字符,如下图:

当我点击确定,效果如下:

简单的一个例子。
下面开始解析整个开发过程:
首先创建一个窗体,添加HTML控件:

覆盖窗体方法init:

我们的核心在init方法:

具体HTML的语法和代码这里不详细讲解,请翻阅其他资料。
这里核心的方法是showHTML
我们来解析一下这个方法:
static
void showHTML(Object
HTMLactiveX, str htmltext)
{
#Help
COMbody;
COMdocument;
;
//验证这个控件是不是HTMLActiveX控件
document=
HTMLactiveX.className()
== #HTMLDocumentClassName
? HTMLactiveX
:
HTMLactiveX.document();
insertHTML2Document(document,
htmlText);//将文本转换为HTML
文件,此方法后面有
讲解
body=
document.body();
if
(body)
{
body.scrollTop(0);
// top of document
body.scrollLeft(0);
// left of document
}
}
此方法将文本字符转换为HTML
文本
insertHTML2Document(COM
document, str htmlText)
{
COMDispFunctioncomWrite;
COMVarianttext
=
new COMVariant();
COMctrl
=
new COM();
ctrl.attach(document.interface());
comWrite=
new COMDispFunction(ctrl,
'write',
COMDispContext::Method);
text.bStr(htmltext);
document.open('');
comWrite.call(text);
document.close();
}
 
 
如果我们想打印整个页面,用过以下JS
代码即可实现:
<script
language="javascript">
functionprintsetup(){
//打印页面设置
wb.execwb(8,1);
}
functionprintpreview(){
//打印页面预览
wb.execwb(7,1);
}
functionprintit()
{
if
(confirm('确定打印吗?'))
{
wb.execwb(6,6)
}
}
</script>
</head>
<body>
<OBJECT
classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"
height=0
id=wb name=wb
width=0></OBJECT>
<input
type=button name=button_print
value="打印"
onclick="javascript:printit()">
<input
type=button name=button_setup
value="
打印页面设置"
onclick="javascript:printsetup();">
<input
type=button name=button_show
value="打印预览"
onclick="javascript:printpreview();">
<input
type=button name=button_fh
value="关闭"
onclick="javascript:window.close();">
这里有个安全问题,windows个别安全策略有时候不允许OBJECT
打印使用.
可以使用这个办法:
<a
href='#'
onclick='javascript:window.print();'>打印</a>
这样就可以随意的定制我们的报表并且打印了!!!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: