2010-07-02 426 views

回答

8
<script type="text/javascript"> 
    window.resizeTo(300,290); 
</script> 
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启动(或刷新):

... 
</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),并且在缩小到较小尺寸之前,初始大窗口会快速闪烁,但并不是那么糟糕。

1

这是一条提示。如果在打开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> 
.... 
+0

谢谢,但我刚刚尝试过,并没有为我工作。调整大小/移动不起作用,除非在中的之后,那么似乎已经太晚了,因为我仍然得到了闪烁。 – 2015-08-06 17:45:04

0

尝试设置HTA属性的WindowState最小化

windowstate="minimize" 

您的日常调整大小,然后将设置你想要的大小,并迫使窗口显示。