Hallo AutoMit,
man kann die Bilder ganz einfach verschieben.
Hier ein Beispiel, Bilder sind in der ZIP-Datei:
AutoIt
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
$hGui = GUICreate("Drag&Drop", 195, 0, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZE, $WS_MAXIMIZEBOX))
$Pic1 = GUICtrlCreateIcon(@ScriptDir & "\1.ico", -1, 10, 10, 90, 60) ;Icon (Bild) wird erstellt
$Pic2 = GUICtrlCreateIcon(@ScriptDir & "\2.ico", -1, 10, 90, 90, 60) ;Icon (Bild) wird erstellt
$Pic3 = GUICtrlCreateIcon(@ScriptDir & "\3.ico", -1, 10, 170, 90, 60) ;Icon (Bild) wird erstellt
GUISetState(@SW_SHOW, $hGui)
AdlibRegister("_SetPos", 100) ;Die Funktion _SetPos wird nun alle 0,1s aufgerufen
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
WEnd
Func _SetPos()
While _IsPressed(01) ;_IsPressed(01) überprüft, ob die linke Maustaste gedrückt ist
$MouseHoverControl = GUIGetCursorInfo($hGui) ;Während Sie gedrückt ist (Während = While), kann man mit dem Befehl GUIGetCursorInfo Informationen über die Maus auf der GUI bekommen
Switch $MouseHoverControl[4] ;Hier schaltet man auf die GUIGetCursorInfo um, die ausgibt, über welchem Control (in dem Fall Bild) sich die Maus befindet
Case $Pic1 ;Für den Fall (Fall = Case), dass die Maus über $Pic1 ist,
GUICtrlSetPos($Pic1, $MouseHoverControl[0]-45, $MouseHoverControl[1]-30) ;wird die Position des $Pic1 auf die Maus-Position auf der GUI gesetzt
Case $Pic2 ;Für den Fall (Fall = Case), dass die Maus über $Pic2 ist,
GUICtrlSetPos($Pic2, $MouseHoverControl[0]-45, $MouseHoverControl[1]-30) ;wird die Position des $Pic2 auf die Maus-Position auf der GUI gesetzt
Case $Pic3 ;Für den Fall (Fall = Case), dass die Maus über $Pic2 ist,
GUICtrlSetPos($Pic3, $MouseHoverControl[0]-45, $MouseHoverControl[1]-30) ;wird die Position des $Pic3 auf die Maus-Position auf der GUI gesetzt
EndSwitch
WEnd
EndFunc
Alles anzeigen
Jedoch wird es ein klein wenig flackern, ohne geht's mit GDIPlus (+Buffer), aber das ist nicht so einfach, wenn du dich noch nicht damit auskennst.
Wenn dir das hier reicht vom Flackern her, die Hauptfunktionen sind _IsPressed und GUIGetCursorInfo.
LG NO1 ![]()