.HTA 簡明教程: HTML APPLICATION(HTML應用程序)

HTA簡介:HTA是HTML Application的縮寫(HTML應用程序),是軟件開發的新概念,直接將HTML保存成HTA的格式,就是一個獨立的應用軟件,與VB、C++等程序語言所設計的軟件沒什麼差異。
下面是一個HTA的例子:html

<!—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>
windows


把上面的代碼複製到任意文本編輯器中,而後保存爲*.hta,直接雙擊就能夠看到效果啦!!
====================================================================app

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>
spa

上面代碼與平時的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概述:orm

HTA與普通的網頁結構差很少,因此設計出來很容易,固然HTA還有許多本身獨特的屬性:htm

一、HTA對語法的要求比HTML還要鬆,甚至連<html>、<body>等標記均可以省略:
<!—example2.hta?
送別
王維
下馬引君酒,問君何所之。
……

注意:上面就是整個HTA文件的所有代碼。

二、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>&nbsp;<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 SubSub CommandButton1_Click()DataArea.InnerHTML = 「You clicked button 1.」End SubSub CommandButton2_Click()DataArea.InnerHTML = 「You clicked button 2.」End SubSub CommandButton3_Click()DataArea.InnerHTML = 「You clicked button 3.」End SubSub 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>&nbsp;<p><blockquote><span id=DataArea></span></blockquote></body></html>

相關文章
相關標籤/搜索