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.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が起動する(または更新される)たびに、サブが自動的に呼び出されます。

...
</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を設定してみてください

windowstate="minimize"

次に、サイズ変更ルーチンが必要なサイズを設定し、ウィンドウを強制的に表示します。

最初にウィンドウにフォーカスを設定します。

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