omg!!^^
Wie bestimmt man nochmal die Position eines Elements inerhalb des scriptes?
position eines elements bestimmen
-
- [ offen ]
-
aflakes -
31. Mai 2011 um 14:58 -
Geschlossen -
Erledigt
-
-
Gib dir mal Mühe mit einer vernünftigen Fragestellung.
Nicht mal das Grobthema ist ersichtlich. -
ich will jetzt mit den pfeiltasten den button bewegen,
also einfach mit hotkeyset und guictrlsetpos.
Aber wie finde ich die position des buttons raus?
(die brauche ich doch um ihn zu bewegen!)Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 625, 445, 192, 124)
$Button1 = GUICtrlCreateButton("test1", 128, 112, 73, 81, $WS_GROUP)GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
[/autoit]
EndSwitch
WEnd -
Aha. Dir geht es also um die Positionsbestimmung eines GUI Controls, warum nicht gleich so?
[autoit]ControlGetPos
[/autoit] -
das hab ich mir auch schon gedacht,
aber ich dachte man kann damit nur positionen von externen sachen bestimmen
also z.B notepad und nciht ein buttondanke
-
Wie mein Mathelehrer immer zu sagen pflegt: "Das ist grober Unfug!"...
[autoit]#include <Array.au3>
[/autoit][autoit][/autoit][autoit]$hWnd = GUICreate("")
[/autoit][autoit][/autoit][autoit]
$cButton = GUICtrlCreateButton("Test", 150, 185, 100, 25)
GUISetState()$aPos = ControlGetPos($hWnd, "", $cButton)
[/autoit][autoit][/autoit][autoit]
_ArrayDisplay($aPos)While GUIGetMsg() <> -3
[/autoit]
WEnd -
Natürlich kann man beide benutzen! Seine GUI und eine andere.
[autoit]ControlGetPos ( "title", "text", controlID )
[/autoit]
;; "titel" = Name deiner GUI (Vllt in einer Variable?)
;; "text" = Kannst du eig. leer lassen
;; "ControlID" = ID des Controls von dem du die Position bekommen möchtest, ganz einfach durch Variablen beim erstellen zu bekommen
$hControlID=GuiCtrlCreateButton()//Edit: Da name22 schon eine Grundlage gegeben hat hab ich gleich mal was kleines gebastelt.
[autoit]#include <Misc.au3>
[/autoit][autoit][/autoit][autoit]Global $iMoveSpeed = 1
[/autoit][autoit][/autoit][autoit]$hWnd = GUICreate("")
[/autoit][autoit][/autoit][autoit]
$cButton = GUICtrlCreateButton("Test", 150, 185, 100, 25)
GUISetState()$aPos = ControlGetPos($hWnd, "", $cButton)
[/autoit][autoit][/autoit][autoit]While GUIGetMsg() <> -3
[/autoit][autoit][/autoit][autoit]
Sleep(20)
$aPos = ControlGetPos($hWnd, "", $cButton)If _IsPressed(25) Then GUICtrlSetPos($cButton, $aPos[0] - $iMoveSpeed, $aPos[1])
[/autoit][autoit][/autoit][autoit]If _IsPressed(26) Then GUICtrlSetPos($cButton, $aPos[0], $aPos[1] - $iMoveSpeed)
[/autoit][autoit][/autoit][autoit]If _IsPressed(27) Then GUICtrlSetPos($cButton, $aPos[0] + $iMoveSpeed, $aPos[1])
[/autoit][autoit][/autoit][autoit]If _IsPressed(28) Then GUICtrlSetPos($cButton, $aPos[0], $aPos[1] + $iMoveSpeed)
[/autoit][autoit][/autoit][autoit]WEnd
[/autoit]