2010-07-02 46 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" 

您的日常調整大小,然後將設置你想要的大小,並迫使窗口顯示。