Hallo Leuts,
ich hatte mein Problem bereits in diesem Post einmal angerissen - gelöst hat es sich jedoch noch immer nicht, obwohl ich bis zum Hals in AutoIt-Doku stecke.
Und hier das Script zu meinem Problem:
Spoiler anzeigen
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]$GUI1 = GUICreate("GUI1", 200, 200, 0, 0, BitOR($WS_SIZEBOX, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX))
GUISetOnEvent($GUI_EVENT_CLOSE, "_GUI_EVENT_CLOSE")
GUISetState(@SW_SHOW, $GUI1)
$WinGetPos = WinGetPos($GUI1)
[/autoit] [autoit][/autoit] [autoit]MsgBox(0, "WinGetPos", "Breite: " & $WinGetPos[2] & @CRLF & _
"Höhe: " & $WinGetPos[3] & @CRLF & _
"Position links: " & $WinGetPos[0] & @CRLF & _
"Position oben: " & $WinGetPos[1])
While 1
Sleep(1000)
WEnd
Func _GUI_EVENT_CLOSE()
Exit
EndFunc
Ich gebe meiner GUI-Box also eine Breite und eine Höhe von jeweils 200!
Wenn ich daneben ein gleich großes Fenster aufmachen wollte, gab ich diesem die Koordinaten ...(200,200,200,0). Mir fiel jedoch auf, dass beide Fenster sich überlappten.
Dann habe ich die Koordinatenabfrage mit WinGetPos() ausprobiert - und siehe da:
Ein Fenster, dass die Maße 200x200 haben soll, ist tatsächlich 206x206 groß. Egal, welche Maße ich einem Fenster verpasse - die Ausgabe ist stets "+6" - wobei ich jedoch keine Ahnung habe, wo diese 6 herkommt.
Störend ist besonders, dass Eure Hilfestellung, die ihr mir in diesem Thread zur Einstellung von Minimal- und Maximalbreite einer GUI geleistet habt, diese "6" nicht interessiert. Wenn ich vorher eine GUI mit 200x200 definiert habe, und dann per $WM_GETMINMAXINFO die weitere Verarbeitung mit einer minimal- und maximal- Breite x Höhe von je 200 bestimme, wird die Box jeweils um 6 verkleinert.
Ich weiß, dass ich bestimmt etwas übersehen habe - aber bitte erklärt mir, wie es zu dieser Differenz zwischen beabsichtigter und tatsächlicher GUI-Größe kommt.
Wo könnte ich darüber nachlesen? Lässt sich dieses Verhalten nur rechnerisch unter Kontrolle bekommen, oder kann der abweichende Wert von 6 in anderen Fällen sogar noch weiter variieren?
Danke für Eure Antworten im Voraus