1007236046 发表于 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了...

afan 发表于 2012-11-10 13:29:31

还有3像素的边框,所以实际宽度就得加上3*2了

1007236046 发表于 2012-11-10 13:59:06

回复 2# afan

这个3是固定的吗?所有系统这个值都是3吗?关键怎么取得这个值呢

annybaby 发表于 2012-11-10 14:02:24

回复 1# 1007236046

加个样式,比如
$Form1 = GUICreate("Form1", 600, 400, -1, -1,1)

1007236046 发表于 2012-11-10 14:05:56

回复 4# annybaby

这个样式没关闭按钮了,我以前都是用无标题栏的样式,但是加了标题栏后,宽度就不好控制了

annybaby 发表于 2012-11-10 14:07:26

回复 3# 1007236046

高度是和主题有关的,但宽度就不清楚

annybaby 发表于 2012-11-10 14:13:41

回复 5# 1007236046

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

$POS=WinGetPos('')
WinMove('','',$POS,$POS,600,400)
$POS=WinGetPos('')
MsgBox(0,0,$POS&'*'&$POS)

netegg 发表于 2012-11-10 14:49:56

本帖最后由 netegg 于 2012-11-10 14:52 编辑

回复 3# 1007236046
(_WinAPI_GetWindowWidth - _WinAPI_GetClientWidth) / 2
页: [1]
查看完整版本: [已解决]为什么窗口宽度不是我的预设值?