首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hta窗口的中心化

hta窗口的中心化
EN

Stack Overflow用户
提问于 2014-03-10 13:19:09
回答 2查看 6.8K关注 0票数 8

如何将HTA窗口居中,使其位于屏幕中心,而不管HTA大小的屏幕分辨率如何,我有以下内容:

代码语言:javascript
复制
</head>
<script>
Sub DoResize 'Do not use Window_Onload
   window.resizeTo 800,600
   strComputer = "."
   Set objWMIService = GetObject("Winmgmts:\\" & strComputer & "\root\cimv2")
   Set colItems = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor")
   For Each objItem in colItems
       intHorizontal = objItem.ScreenWidth
       intVertical = objItem.ScreenHeight
   Next
   intLeft = (intHorizontal - 800) / 2
   intTop = (intVertical - 600) / 2
   window.moveTo intLeft, intTop
End Sub
DoResize() 'Run the subroutine to position the containing window (your HTA dialog) before the body is rendered.
</script>
<body>

但是如果我改变屏幕分辨率,它就不能工作,它会调整HTA窗口的大小。

问:如何将HTA移动到屏幕中心,而不考虑屏幕分辨率的HTA大小。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-10 18:05:51

为此使用WMI有点过火了。您可以使用screen对象代替:

代码语言:javascript
复制
window.resizeTo (800, 600);
window.moveTo((screen.width - 800) / 2, (screen.height - 600) / 2);

如果您想在开始时调整窗口的大小,请将上面的行放在head部分中的(JS) head标记中,甚至在<hta: application>标记之前,或者在事件处理程序中或需要它的任何地方使用代码。

如果要将任务栏的高度排除在中心区之外,可以使用screen.availHeight而不是screen.height

票数 5
EN

Stack Overflow用户

发布于 2018-02-27 02:17:04

代码语言:javascript
复制
var winWidth = 800, winHeight = 600;
window.resizeTo(winWidth, winHeight);
window.moveTo((screen.width - winWidth) / 2, (screen.height - winHeight) / 2);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22301262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档