代码之家  ›  专栏  ›  技术社区  ›  Remus Rigo

更改HTA应用程序窗口大小

hta
  •  4
  • Remus Rigo  · 技术社区  · 14 年前

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

    4 回复  |  直到 14 年前
        1
  •  9
  •   Piskvor left the building Rohit Kumar    14 年前
    <script type="text/javascript">
        window.resizeTo(300,290);
    </script>
    
        2
  •  5
  •   AjV Jsy    11 年前

    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>
    

    在VBS脚本a中 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>
    ...
    

        3
  •  3
  •   cmbro    10 年前

    这是一个提示。如果在打开HTA时需要调整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>
    ....
    
        4
  •  1
  •   Jim Kolb    6 年前

    尝试将HTA属性windowstate设置为最小化

    windowstate="minimize"
    

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

    首先将焦点设置到窗口:

        window.focus()
        window.resizeTo(500,500)
        window.moveTo(screen.availWidth-500,0)