Sign in to follow this  
Followers 0

Winmove size wrong?

2 posts in this topic

#1 ·  Posted (edited)

How is it that a GUICreate("TESTING", 185, 340) is bigger then after a resize with WinMove($GUI,default,default,default,185, 340)?

In this case there's a loss of Width: 6 and Height: 32

Here's a script to test:

#include <GUIConstantsEx.au3>

$GUI = GUICreate("TESTING", 185, 340)
$go = GUICtrlCreateButton("Resize", 8, 177, 90, 17)

While 1
    $nmsg = guigetmsg()
    switch $nmsg
        case $Go
            $SizeReturns = WinGetClientSize($GUI)
            MsgBox(0,"","Width: "&$SizeReturns[0]&@CRLF&"Height: "&$SizeReturns[1]&@CRLF&"..Now moving window to same OK")
            WinMove($GUI,default,default,default,185, 340)
            $SizeReturns = WinGetClientSize($GUI)
            MsgBox(0,"","Width: "&$SizeReturns[0]&@CRLF&"Height: "&$SizeReturns[1])
        case $GUI_EVENT_CLOSE

Update; I think i figured this one out by myself, seems Winmove doesn't take the Title bar into consideration when resizing.

For the default XP theme, Width: +6 and Height: +32 is needed to compensate..Its another value for the classic themes.

Edited by Datenshi

Share this post

Link to post
Share on other sites

#2 ·  Posted (edited)

Yes. Width,Height in GUICreate() is meant for client area not for whole window size.

WinMove() uses whole window's size.

In latest Autoit beta this is explicitly described in helpfile at GUICreate()

Here is related ticket

Edited by Zedna

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
Followers 0