找回密码
 加入
搜索
查看: 2431|回复: 7

[GUI管理] [已解决]为什么窗口宽度不是我的预设值?

  [复制链接]
发表于 2012-11-10 13:12:41 | 显示全部楼层 |阅读模式
本帖最后由 1007236046 于 2012-11-10 21:05 编辑

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 600, 400, -1, -1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEnd

运行后用au3窗口信息工具查看大小,宽度变为606了...
发表于 2012-11-10 13:29:31 | 显示全部楼层
还有3像素的边框,所以实际宽度就得加上3*2了
 楼主| 发表于 2012-11-10 13:59:06 | 显示全部楼层
回复 2# afan

这个3是固定的吗?所有系统这个值都是3吗?关键怎么取得这个值呢
发表于 2012-11-10 14:02:24 | 显示全部楼层
回复 1# 1007236046

加个样式,比如
$Form1 = GUICreate("Form1", 600, 400, -1, -1,1)
 楼主| 发表于 2012-11-10 14:05:56 | 显示全部楼层
回复 4# annybaby

这个样式没关闭按钮了,我以前都是用无标题栏的样式,但是加了标题栏后,宽度就不好控制了
发表于 2012-11-10 14:07:26 | 显示全部楼层
回复 3# 1007236046

高度是和主题有关的,但宽度就不清楚
发表于 2012-11-10 14:13:41 | 显示全部楼层
回复 5# 1007236046

sorry,没辙了,只能用笨办法
重设一下窗口大小

 $POS=WinGetPos('')
 WinMove('','',$POS[0],$POS[1],600,400)
  $POS=WinGetPos('')
 MsgBox(0,0,$POS[2]&'*'&$POS[3])
发表于 2012-11-10 14:49:56 | 显示全部楼层
本帖最后由 netegg 于 2012-11-10 14:52 编辑

回复 3# 1007236046
(_WinAPI_GetWindowWidth - _WinAPI_GetClientWidth) / 2
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-29 19:21 , Processed in 0.103636 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表