Wie das historisch gewachsen ist, weiß ich nicht... dass müsste man den Entwickler fragen.
GUICtrlSetPos
GUI = Graphical User Interface (Grafische Benutzeroberfläche)
Ctrl = Control (Steuerelement)
Set = Set (Setzen)
Pos = Position (Position (und Größe))
Soweit ich es verstehe, kannst du die mit GUI beginnenden Funktionen nur auf GUIs/Controls anwenden, die du selbst erstellt hast, da du als Parameter für das anzusprechende Control nur die controlID übergibst, für die GUI keinen, denn die stellst du mit GUISwitch() ein, falls du mehrere erstellt hast.
Bei den mit Control beginnenden Funktionen musst als Parameter für das anzusprechende Control "Title", "Text" und eine controlID angeben... wobei man das nicht zu wörtlich nehmen darf (siehe Title/Text special definition).
Denn es funktioniert z. B. auch so...
Global $hCtrl = ControlGetHandle('', '', '[CLASS:Scintilla; INSTANCE:1]')
ConsoleWrite("@@ Debug line" & @TAB & @ScriptLineNumber & " var: $hCtrl --> " & $hCtrl & @CRLF)
Wie es zu abweichenden Namensbildung für diverse Funktionen kam, ist zumindest für mich nicht nachvollziehbar.
Z. B. die hier...
GUICtrlSetPos() <=> ControlMove()
Wieso bei der einen Funktion SetPos und bei der anderen Move, wenn sie doch beide dieselbe Aufgabe haben?