5

有没有办法改变 HTA 应用程序的大小?

谢谢

4

4 回答 4

12
<script type="text/javascript">
    window.resizeTo(300,290);
</script>
于 2010-07-02T13:49:31.453 回答
5

Javascript 和 VBScript 方法在加载时将 HTA 的大小调整为屏幕区域的 1/4 (高度的一半,宽度的一半)并将其居中 - 使用screen.availWidthscreen.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),在它缩小到更小的尺寸之前,最初的较大窗口会快速闪烁,但这还不错。

于 2013-05-15T16:37:28.423 回答
3

这是一个提示。如果在打开 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>
....
于 2014-08-07T14:45:12.297 回答
1

尝试设置 HTA 属性窗口状态以最小化

windowstate="minimize"

然后,您的调整大小例程将设置您想要的大小并强制窗口显示。

首先将焦点设置到您的窗口:

    window.focus()
    window.resizeTo(500,500)
    window.moveTo(screen.availWidth-500,0)
于 2017-04-26T05:14:10.737 回答