So wie im Titel angegeben, mache ich es sehr oft mit ControlGetPos und hatte bis dato kein Problem damit gehabt... aber das hat sich nun geändert!
Die für den "Fehler" relevanten Zeilen:
_WinAPI_SetWindowLong($hEdit, $GWL_HWNDPARENT, $hListView) ; Setzt das Handle des Parentfensters für $hEdit auf $hListView - das allein löst aber keinen Fehler aus!
ControlFocus($hEdit, '', '') ; Das ist der Bösewicht... ControlGetPos($hListView, '', '') und ControlFocus($hListView, '', '') funktionieren danach nicht mehr richtig!
Lege ich den Fokus auf ein anderes Control, z.B. ControlFocus($hOK, '', ''), funktioniert wieder alles...
Was sagt ihr dazu?
Hier das Test-Script:
AutoIt
ConsoleWrite("+ ControlGetPos($hEdit, '', '') : " & _ArrayToString(ControlGetPos($hEdit, '', ''), ', ') & @CRLF)
ConsoleWrite("+ ControlGetPos($hListView, '', '') : " & _ArrayToString(ControlGetPos($hListView, '', ''), ', ') & @CRLF & @CRLF)
ConsoleWrite("+ ControlGetPos($hEdit, '', '') : " & _ArrayToString(ControlGetPos($hEdit, '', ''), ', ') & @CRLF)
ConsoleWrite("! ControlGetPos($hListView, '', '') : " & _ArrayToString(ControlGetPos($hListView, '', ''), ', ') & @CRLF)
ConsoleWrite("+ ControlGetPos($hGUI, '', $hListView) : " & _ArrayToString(ControlGetPos($hGUI, '', $hListView), ', ') & @CRLF & @CRLF)
ConsoleWrite("+ ControlGetPos($hEdit, '', '') : " & _ArrayToString(ControlGetPos($hEdit, '', ''), ', ') & @CRLF)
ConsoleWrite("! ControlGetPos($hListView, '', '') : " & _ArrayToString(ControlGetPos($hListView, '', ''), ', ') & @CRLF)
ConsoleWrite("+ ControlGetPos($hGUI, '', $hListView) : " & _ArrayToString(ControlGetPos($hGUI, '', $hListView), ', ') & @CRLF & @CRLF)
ConsoleWrite("+ ControlGetPos($hEdit, '', '') : " & _ArrayToString(ControlGetPos($hEdit, '', ''), ', ') & @CRLF)