2015-06-25 524 views
2

如何使用參數來完成HTA的標題顏色和背景?更改標題顏色和背景

類似:

List.hta "ColorBG" "ColorTitle" 

標題:

<font color="#FFFFFF" Times New Roman" size="13"><center><B>List</b></center></font> 

我全碼:

<html> 
<head> 
    <title>My List</title> 
<HTA:Application 
     Border= "thin" 
     Application="/md/input" 
     Scoll="NO" 
     Singleinstance="Yes" 
     SysMenu=NO 
     Icon="%Windir%\System32\wscript.exe"> 
     ShowInTaskbar="Yes" 
     Caption="Yes"> 
    <script type="text/vbscript"> 
Option Explicit 
    Window.resizeTo 373,610 
Const csFSpec = "List.txt" 
Dim goFS : Set goFS = CreateObject("Scripting.FileSystemObject") 

Sub Window_OnLoad() 
Dim objFile 
If goFS.FileExists(csFSpec) Then 
    SET objFile = goFS.GetFile(csFSpec) 
    If objFile.Size > 0 Then 
     document.all.DataArea.value = goFS.OpenTextFile(csFSpec).ReadAll() 
     document.all.DataArea.value = document.all.DataArea.value 
    Else 
     document.all.DataArea.value ="" 
    End If 
Else 

    self.close 
    End If 
End Sub 

Sub SaveFile() 

Dim objMM 
Dim objFSOO 
If document.all.DataArea.value = "" Then 
Set objFSOO = CreateObject("Scripting.FileSystemObject") 
Set objMM = objFSOO.CreateTextFile("List.txt") 
    self.close 
Else 
document.all.DataArea.value = Replace(document.all.DataArea.value, "\", "_") 
document.all.DataArea.value = Replace(document.all.DataArea.value, "/", "_") 
document.all.DataArea.value = Replace(document.all.DataArea.value, ":", "_") 
document.all.DataArea.value = Replace(document.all.DataArea.value, "*", "_") 
document.all.DataArea.value = Replace(document.all.DataArea.value, "?", "_") 
document.all.DataArea.value = Replace(document.all.DataArea.value, """", "_") 
document.all.DataArea.value = Replace(document.all.DataArea.value, "<", "_") 
document.all.DataArea.value = Replace(document.all.DataArea.value, ">", "_") 
document.all.DataArea.value = Replace(document.all.DataArea.value, "|", "_") 
document.all.DataArea.value = Replace(document.all.DataArea.value, "&", "_") 
document.all.DataArea.value = Replace(document.all.DataArea.value, "!", "_") 
    goFS.CreateTextFile(csFSpec).Write document.all.DataArea.value 

    DIM objFSO 
    DIM objFile 
    DIM STRLINE 
    DIM STRNEWCONTENTS 

Const ForReading = 1 
Const ForWriting = 2 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile("List.txt", ForReading) 

Do Until objFile.AtEndOfStream 
    strLine = objFile.Readline 
    strLine = Trim(strLine) 
    If Len(strLine) > 0 Then 
     strNewContents = strNewContents & strLine & vbCrLf 
    End If 
Loop 

objFile.Close 

Set objFile = objFSO.OpenTextFile("List.txt", ForWriting) 
objFile.Write strNewContents 
objFile.Close 

    document.all.DataArea.value = goFS.OpenTextFile(csFSpec).ReadAll() 
    document.all.DataArea.value = Replace(document.all.DataArea.value, vbcrlf,"|") 
    document.all.DataArea.value = left(document.all.DataArea.value,len(document.all.DataArea.value)-1) 
    document.all.DataArea.value = Replace(document.all.DataArea.value,"|",vbcrlf) 
    goFS.CreateTextFile(csFSpec).Write document.all.DataArea.value 

    self.close 
    End if 
End Sub 

Sub QuitEdit() 

    self.close 
End Sub 

Sub Redefine() 

document.all.DataArea.value ="CD" & vbcrlf & "DISC" & vbcrlf & "MUSIC" & vbcrlf & "ALBUM" 

End Sub 

Sub Clean() 

document.all.DataArea.value = "" 

End Sub 
    </script> 
</head> 
<body style="overflow:hidden" bgColor="#000080"></body> 
<caption></caption><hr></hr> 
<font color="#FFFFFF" Times New Roman" size="13"><center><B>List</b></center></font> 
<caption></caption><hr></hr> 
    <TR><td> 
<input style="background-color:#F0F0F0; color: #000000; border: 2px transparent; float: left;" type="BUTTON" value="Clean" class="btn" id="btna" onclick="Clean" onmouseover="btna.style.background = '#808080'" onmouseout="btna.style.background = '#F0F0F0'"> 
<input style="background-color:#F0F0F0; color: #000000; border: 2px transparent; float: right;" type="BUTTON" value="Redefine" class="btn" id="btnb" onclick="Redefine" onmouseover="btnb.style.background = '#808080'" onmouseout="btnb.style.background = '#F0F0F0'"> 
    </TR></td> 
    <Table border="3" style="width:100%; text-align: center" BORDERCOLOR=#F0F0F0> 
    <TR><td> 
    <form> 
<textarea name="DataArea" rows="23" cols=37></textarea> </Table> 
    <TR><td> 
    <p> 
<div align="right"><input style="background-color:#F0F0F0; color: #000000; border: 2px transparent" type="BUTTON" value=" OK " class="btn" id="btnc" onclick="SaveFile" onmouseover="btnc.style.background = '#808080'" onmouseout="btnc.style.background = '#F0F0F0'"> 
<input style="background-color:#F0F0F0; color: #000000; border: 2px transparent" type="BUTTON" value="Cancel" class="btn" id="btnd" onclick="QuitEdit" onmouseover="btnd.style.background = '#808080'" onmouseout="btnd.style.background = '#F0F0F0'"> 
    </div> 
    </td></TR> 
    </form> 
</body> 
</html> 

回答

2

<title></title>之間的文本不能風格。它用於在標題欄/標題欄中設置Internet Explorer的窗口標題。您輸入的任何文本都將按照字面處理。

Windows控制所有標題欄的外觀。您可以在控制面板的「顯示/個性化」小程序的「外觀」或「Windows顏色」部分中對其進行配置(全局)。例如,「活動標題欄」控制Windows用於當前活動窗口的字體和顏色。

編輯:

我重讀你的問題,它聽起來就像也許你的「標題」是不是網頁的標題(<title>),但只是你靠近你的頁面的頂部顯示一些文字(即你稱你爲「頭銜」)。

您可以將參數傳遞給HTA,但解析它們有點棘手。 HTA只有CommandLine屬性,它返回完整的命令行,包括HTA的完整路徑。爲了讓事情變得更容易,大多數人選擇封閉自己ARGS在引號,因此您的命令行可能是這樣的:

"c:\my folder\test.hta" "#ddd" "#f00" 

在這裏,我們傳遞有兩個參數(HTML顏色)到HTA。要檢索它們,我們可以分割上引號CommandLine屬性(Chr(34)),我們會得到如下:

a = Split(myhta.CommandLine, Chr(34)) 
a(0) = <blank> 
a(1) = "c:\my folder\test.hta" 
a(2) = " " 
a(3) = "#ddd" 
a(4) = " " 
a(5) = "#f00" 
a(6) = <blank> 

所以,a(3)成爲你的第一個參數和a(5)成爲你的第二個。現在您可以將這些值分配給您的HTML元素的style.backgroundColorstyle.color屬性。

下面是一個例子:

<head> 
    <HTA:APPLICATION 
     ID="htatest" 
     APPLICATIONNAME="HTA Test" 
    > 
</head> 

<body> 
    <span id="mytitle">This is a title</span> 
</body> 

<script language="VBScript"> 
    Sub Window_OnLoad() 
     a = Split(htatest.CommandLine, Chr(34)) 
     mytitle.style.backgroundcolor = a(3) 
     mytitle.style.color = a(5) 
    End Sub 
</script> 
+0

非常感謝您! –