有没有办法改变 HTA 应用程序的大小?
谢谢
<script type="text/javascript">
window.resizeTo(300,290);
</script>
Javascript 和 VBScript 方法在加载时将 HTA 的大小调整为屏幕区域的 1/4 (高度的一半,宽度的一半)并将其居中 - 使用screen.availWidth
和screen.availHeight
:
<SCRIPT LANGUAGE="javascript">
function Window_onLoad(){ // resize to quarter of screen area, centered
window.resizeTo(screen.availWidth/2,screen.availHeight/2);
window.moveTo(screen.availWidth/4,screen.availHeight/4);
}
window.onload=Window_onLoad;
</SCRIPT>
在 VBSScript 中,Window_onLoad
每当 HTA 启动(或刷新)时,都会自动调用 sub:
...
</head>
<SCRIPT LANGUAGE="VBScript">
Sub Window_onLoad
' resize to quarter of screen area, centered
window.resizeTo screen.availWidth/2,screen.availHeight/2
window.moveTo screen.availWidth/4,screen.availHeight/4
End Sub
</SCRIPT>
<BODY>
...
我刚刚对其进行了测试(旧笔记本电脑上的 Win XP),在它缩小到更小的尺寸之前,最初的较大窗口会快速闪烁,但这还不错。
这是一个提示。如果在打开 hta 时需要调整 HTA 的大小/移动,则将 resizeTo 和 moveTo 放在其自己的脚本标签中 HEAD 标签之后。然后您将看不到由于调整大小/移动而发生的闪光。
<HTML>
<HEAD>
<SCRIPT type="text/vbscript" language="vbscript">
' Do the window sizing early so user doens't see the window move and resize
Window.resizeTo 330, 130
Call CenterWindow
Sub CenterWindow()
Dim x, y
With Window.Screen
x = (.AvailWidth - 330 ) \ 2
y = (.AvailHeight - 130 ) \ 2
End With
Window.MoveTo x, y
End Sub
</SCRIPT>
....
尝试设置 HTA 属性窗口状态以最小化
windowstate="minimize"
然后,您的调整大小例程将设置您想要的大小并强制窗口显示。
首先将焦点设置到您的窗口:
window.focus()
window.resizeTo(500,500)
window.moveTo(screen.availWidth-500,0)