您的位置:首页 > 移动开发

.HTA 简明教程: HTML APPLICATION(HTML应用程序) 3ff8

2014-05-08 10:17 351 查看
HTA简介:HTA是HTML Application的缩写(HTML应用程序),是软件开发的新概念,直接将HTML保存成HTA的格式,就是一个独立的应用软件,与VB、C++等程序语言所设计的软件没什么差别。
下面是一个HTA的例子:
<!—example1.hta–>
<html>
<head>
<title>第一个HTA的例子</title>
<style>
p {font-size:24;cursor:hand}
</style>
</head>
<body>
<center>
<p>HTA</P>
<p>HTML Application</p>
<p>HTML应用程序</p>
</center>
</body>
</html>

把上面的代码复制到任意文本编辑器中,然后保存为*.hta,直接双击就可以看到效果啦!!
====================================================================
hta就是一个HTML应用程序(HTML Application),只要你双击就能运行
只要简单的用.hta为扩展名保存HTML页面就行了
下面的一个标准的HTML应用程序:
<HTML>
<HEAD>
<TITLE>hta示例</TITLE>
<HTA:APPLICATION ID=”oHTA”
APPLICATIONNAME=”myApp”
BORDER=”thin”
BORDERSTYLE=”normal”
CAPTION=”yes”
ICON=”filename.ico”
MAXIMIZEBUTTON=”yes”
MINIMIZEBUTTON=”yes”
SHOWINTASKBAR=”no”
INGLEINSTANCE=”no”
SYSMENU=”yes”
VERSION=”1.0″
WINDOWSTATE=”normal” />
</HEAD>
<BODY>
<b>hta示例.Hello world !</b>
</BODY>
</HTML>
上面代码与平时的html有点不同,多了HTA:APPLICATION标签,这就是关键之处,hta通过它来提供一系列面向应用程序的功能,接下来再讲一讲它的属性
APPLICATIONNAME属性(applicationName)
此属性为设置HTA的名称。
BORDER属性(border)
此属性为设置为HTA的窗口边框类型,默认值为 thick。
它可以设为 thick 指定窗口为粗边框
dialog window 指定窗口为对话框
none 指定窗口无边框
thin 指定窗口为窄边框
BORDERSTYLE属性(borderStyle)
此属性为设置HTA窗口的边框格式,默认值为 normal。
它可以设为
normal 普通边框格式
complex 凹凸格式组合边框
raised 凸出的3D边框
static 3D边框格式
sunken 凹进的3D边框
CAPTION属性(caption)
此属性为设置HTA窗口是否显示标题栏或标题,默认值为 yes。
ICON属性(icon)
此属性为设置应用程序的图标。
MAXIMIZEBUTTON属性(maximizeButton)
此属性为设置是否在HTA窗口中显示最大化按钮,默认值为 yes。
MINIMIZEBUTTON属性(minimizeButton)
此属性为设置是否在HTA窗口中显示最小化按钮,默认值为 yes。
SHOWINTASKBAR属性(showInTaskBar)
此属性为设置是否在任务栏中显示此应用程序,默认值为 yes。
SINGLEINSTANCE属性(singleInstance)
此属性为设置是否此应用程序同时只能运行一次。次属性以APPLICATIONNAME属性作为标识,默认值为 no。
SYSMENU属性(sysMenu)
此属性为设置是否在HTA窗口中显示系统菜单,默认值为 yes。
VERSION属性(version)
此属性为设置应用程序的版本,默认值为空。
WINDOWSTATE属性(windowState)
此属性为设置HTA窗口的初始大小,默认值为 normal。
它可以设为 normal 默认大小
minmize 最小化
maximize 最大化
以上括号中的是在脚本引用的属性。在脚本中以上属性皆为只读属性。此外,在脚本中还可以使用commandLine属性来检索应用程序启动时的参数。
在HTA中还可以继续使用html中的绝大多数标签、脚本等。
====================================================================
HTA概述:
HTA与普通的网页结构差不多,所以设计出来很容易,当然HTA还有许多自己独特的属性:
1、HTA对语法的要求比HTML还要松,甚至连<html>、<body>等标记都可以省略:
<!—example2.hta?
送别
王维
下马引君酒,问君何所之。
……
注意:上面就是整个HTA文件的全部代码。
2、HTA的外观可以用<HTA:Application>来设顶HTA应用程序的外观,如标题栏、边框大小等,必须放在<head>中。
<!—example3.hta–>
<html>
<head>
<title>第一个HTA的例子</title>
<HTA:Application
border=”thick”
caption=”yes”
maximizebutton=”yes”
minimizebutton=”yes”
sysmenu=”yes”
windowstate=”normal”
>
</head>
<body>
<center>
<p>HTA</P>
<p>HTML Application</p>
<p>HTML应用程序</p>
<button onclick=”self.close()” style=”font-size:18”>离开</button>
</center>
</body>
</html>
对一些属性的说明编辑本段
border=”thick” 可以改为“thin”
caption=”yes” “no”
maximizebutton=”yes” “no”
minimizebutton=”yes” “no”
sysmenu=”yes” “no”
windowstate=”normal” “maximize”满屏,”minimize”最小化
==================================
HTA 添加菜单栏和/或工具栏的 ActiveX 控件
如果说使用 HTML 应用程序时有局限性的话(很遗憾,使用 HTA 时有局限性),其原因是:因为 HTA 主要依靠 HTML 控件,不存在向应用程序添加菜单栏或工具栏的简便方法。因此,您通常只好在屏幕上放置一组有标题而没有图像的按钮。尽管这种方法明显不够酷,但确实能够起作用。(但对于脚本专家来说,酷就是一切。)
当然,确实有允许您向 HTA 添加菜单栏和/或工具栏的 ActiveX 控件。其中一些控件实际上很不错,但同时也可能有点复杂。老实说,对于脚本专家,有一件要胜过酷的事情是:懒惰。因此,我们想应该向您展示一种非常简单的方法来使用命令按钮 ActiveX 控件建立工具栏,该控件作为 Microsoft Office 的一部分安装。(换句话说,只要您有 Microsoft Office,就有了该控件。)它可能并不是世界上最特别的工具栏,但总比 HTML 中普通的老式 <button> 标记好得多。以下是那种稍稍费力就可组合成的工具栏的示例:
看到了吗?看起来不错,想到这些是真正的按钮而不仅仅是图形时尤其如此。您可以很容易地画一个与此类似的工具栏并将图形载入 HTA;但有人单击它们时,这些图形并不会像真正的按钮一样起作用。但这里不会出现这个问题,原因很简单:这些是真实有效的按钮。我们只不过将它们缩小了一点并用图片取代了按钮标题。
返回页首
使用 Microsoft Office 命令按钮控件
让我们来看一下一个精简的示例,即仅使用一个按钮工具栏的示例:
<html>
<head>
<title>Toolbar Example</title>
</head>
<Script Language=”VBScript”>
Sub Window_Onload
CommandButton1.Width = 32
CommandButton1.Height = 32
CommandButton1.Picture = LoadPicture(“c:\scripts\network.bmp”)
End Sub
Sub CommandButton1_Click()
DataArea.InnerHTML = “You clicked button 1.”
End Sub
</Script>
<body topmargin=”0″ rightmargin=”0″ leftmargin=”0″>
<table width=”100%” border=”1″ width=”100%” bordercolorlight=”buttonface”
bordercolordark=”buttonface” style=”border-collapse:collapse”>
<tr>
<td width=”100%” bgcolor=”buttonface”>
</td>
</tr>
<table>
<p> <p>
<blockquote>
<span id=DataArea></span>
</blockquote>
</body>
</html>
此 HTA 主要包含两个元素:一个放置命令按钮的表格,和一个 <span>,它用于在单击该按钮时显示信息。我们还要指出,我们将 HTA 左侧、右侧和顶端的边距已配置为“0”。这将确保我们的表格(进而我们的工具栏)沿 HTA 窗口的左上边缘紧密接合,并将确保表行一路延伸到最右侧边缘。
首先检查表格,我们使用下面这行代码来举例说明:
<table width=”100%” border=”1″ width=”100%” bordercolorlight=”buttonface”
bordercolordark=”buttonface” style=”border-collapse:collapse”>
在这里您不必过多担心 HTML 标记;如果想了解有关各个参数的更多信息,请参阅 HTML 和 DHTML 参考(英文)。实质上我们创建了一个跨越整个 HTA 窗口宽度的表格。我们配置了一个像素的边框环绕整个表格(将由一行和一个单元格组成的表格),然后将边框的颜色设置为 buttonface,即要用于表格单元格的同一种颜色。我们这样做完全是出于美观原因:这样生成的工具栏周围没有任何种类的轮廓线。
然后我们使用下列两行代码来创建一个表格行和一个表格单元格(如我们所说,使用 buttonface 作为其背景色):
<tr>
<td width=”100%” bgcolor=”buttonface”>
现在,我们终于进入了实质阶段:插入命令按钮。要完成此任务,我们只需添加一个 <object> 标记:
正如您所见,我们的 object 标记只需要两个参数:classid 和 id。classid 是一个全局唯一标识符,告诉操作系统要插入哪个 ActiveX 控件。当然,classid 也是一个不可能记住和几乎不可能键入的值。但是没关系,为省去这些麻烦,我们为命令按钮实例分配一个 id(绰号)。当我们要在脚本中引用该按钮时,可以使用 id (CommandButton1) 而不是 classid (D7053240-CE69-11CD-A777-00DD01143C57)。
对于表格就是这样。我们插入一个名为 DataArea 的 <span>,如名称所暗示的那样,我们将在其中写入数据(虽然在本示例脚本中我们很随便地使用术语“数据”)。就这样,我们完成了 HTA 的正文部分。
如此便还剩下两个子例程需要我们完成。第一个子例程是 Windows_Onload,无论何时加载或刷新 HTA 它都将自动运行。在该子例程中,我们配置命令按钮的属性值:
CommandButton1.Width = 32
CommandButton1.Height = 32
CommandButton1.Picture = LoadPicture(“c:\scripts\network.bmp”)
从我们的角度来看,有趣的一个属性值是最后那一个:其中我们使用 LoadPicture 方法为按钮分配了一张图片。我们所做的就是调用 LoadPicture 并向其传递一个参数:图像文件的完整路径。Width 和 Height 属性被配置成以点为单位,每点约为 1/72 英寸。将两者都设置为 32 可得到大小适中的按钮;但您可能需要根据最终使用的图片大小来调整其中的任意一个值。
注意:还有其他命令按钮属性可能让您感兴趣吗?也许会有;请查看 Microsoft Forms 帮助文件 (FM20.chm) 获取相关信息。安装 Office 时,该文件可能已经复制到 C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\1033 文件夹下。如果没有,您可从 Office CD 上获取该文件。
我们的第二个子例程只不过是在用户单击命令按钮时执行的代码而已:
Sub CommandButton1_Click()
DataArea.InnerHTML = “You clicked button 1.”
End Sub
正如您所见,我们在这里没有做任何特别的事情:我们只是将按钮被单击的事实写入 DataArea 的 InnerHTML 属性。需要指出的一件有趣的事情是,我们不必在 <object> 标记中的任何位置指定 onclick 参数。默认情况下,任何时候单击按钮时,HTA 将会自动搜索以该按钮命名的 Click 子例程。
以下就是我们光彩夺目的单按钮工具栏:
抱歉:禁止用闪光灯拍照。
当然,您可能已想到了如何创建多按钮工具栏:您仅需要插入命令按钮 ActiveX 控件的其他实例(确保赋予每个实例唯一的 id,并确保在 Window_Onload 子例程中配置按钮属性)。另外,您需要创建单独的子例程,以便在单击特定按钮时运行。例如,为插入第二个按钮,您必须添加以下 object 标记:
然后需要将以下代码行插入到 Window_Onload 子例程中:
CommandButton2.Width = 32
CommandButton2.Height = 32
CommandButton2.Picture = LoadPicture(“c:\scripts\cd.bmp”)
最后,您需要创建在每次单击 CommandButton2 时运行的子例程:
Sub CommandButton2_Click()
DataArea.InnerHTML = “You clicked button 2.”
End Sub
非常简单。
如果您想在这方面稍做尝试,但不想进行所有的键入工作,我们在这里提供了有四个按钮的工具栏 HTA 示例,供您进行复制和粘贴。请注意,我们在此脚本中额外添加了一个效果:我们使用了 title 标记为每个按钮添加一条工具提示:
现在,每次您将鼠标置于 CommandButton1 之上时,将显示工具提示“Get network connections information”。如果这还不能使您成为这方面最酷的脚本编写者,那么我们不知道什么才会。
如下便是该 HTA 代码:

<html>
<head><title>Toolbar Example</title></head>
<Script Language=”VBScript”>
Sub Window_OnloadCommandButton1.Width = 32CommandButton1.Height = 32CommandButton1.Picture = LoadPicture(“E:\Downloads\Images\1.gif”)CommandButton2.Width = 32CommandButton2.Height = 32CommandButton2.Picture = LoadPicture(“E:\Downloads\Images\1.gif”)CommandButton3.Width = 32CommandButton3.Height = 32CommandButton3.Picture = LoadPicture(“E:\Downloads\Images\1.gif”)CommandButton4.Width = 32CommandButton4.Height = 32CommandButton4.Picture = LoadPicture(“E:\Downloads\Images\1.gif”)End Sub
Sub CommandButton1_Click()DataArea.InnerHTML = “You clicked button 1.”End Sub
Sub CommandButton2_Click()DataArea.InnerHTML = “You clicked button 2.”End Sub
Sub CommandButton3_Click()DataArea.InnerHTML = “You clicked button 3.”End Sub
Sub CommandButton4_Click()DataArea.InnerHTML = “You clicked button 4.”End Sub
</Script><body topmargin=”0″ rightmargin=”0″ leftmargin=”0″>
<table width=”100%” border=”1″ width=”100%” bordercolorlight=”buttonface”bordercolordark=”buttonface” style=”border-collapse:collapse”><tr><td width=”100%” bgcolor=”buttonface”>
</td></tr><table><p> <p><blockquote><span id=DataArea></span></blockquote></body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: