Abend,
Also, ich möchte gerne wissen, wie man mit GDIPlus schreibt, dass ein Objekt immer die Maus verfolgt.
Ich weiß zwar schon wie ein Objekt der Maus folgt, wenn man darauf drückt, und dann verschiebt, aber
nicht, wie das Objekt der Maus folgt ohne das man auf es klickt.
Wenn möglich bitte ein kurzes Beispiel-Skript posten.
//Edit: Hat sich erledigt, hab es hinbekommen
Spoiler anzeigen
#include <GDIPlus.au3>
#include <Misc.au3>
#include <GUIConstants.au3>
Opt("MouseCoordMode",2)
[/autoit] [autoit][/autoit] [autoit]$User32DLL = DllOpen("user32.dll")
[/autoit] [autoit][/autoit] [autoit]Global $GUIHeight = 500
Global $GUIWidth = 500
Global $RectiX = 50
Global $RectiY = 50
Global $RectWidth = 69
Global $RectHeight = 90
Global $GUI = GUICreate("GDIPlus Block", $GUIWidth, $GUIHeight, -1, -1)
GUISetState()
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global $GDIPlusGUI = _GDIPlus_GraphicsCreateFromHWND($GUI)
Global $Bitmap = _GDIPlus_BitmapCreateFromGraphics($GUIWidth, $GUIHeight, $GDIPlusGUI)
Global $Buffer = _GDIPlus_ImageGetGraphicsContext($Bitmap)
_GDIPlus_GraphicsSetSmoothingMode($Buffer, 1)
_GDIPlus_GraphicsClear($Buffer, 0xFFFFFFFF)
Global $Pen = _GDIPlus_PenCreate(0xFF000000, 1, 2)
_GDIPlus_GraphicsDrawImageRect($GDIPlusGUI, $Bitmap, 0, 0, $GUIWidth, $GUIHeight)
[/autoit] [autoit][/autoit] [autoit]AdlibRegister("_Draw",15)
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
_Exit()
EndSwitch
WEnd
Func _Exit()
AdlibUnRegister("_Draw")
_GDIPlus_PenDispose($Pen)
_GDIPlus_GraphicsDispose($Buffer)
_GDIPlus_BitmapDispose($Bitmap)
_GDIPlus_GraphicsDispose($GDIPlusGUI)
_GDIPlus_Shutdown()
GUIDelete($GUI)
Exit
EndFunc
Func _Draw()
_GDIPlus_GraphicsClear($Buffer, 0xFFFFFFFF)
_GDIPlus_GraphicsDrawRect($Buffer, MouseGetPos(0) - $RectWidth/2, MouseGetPos(1) - $RectHeight/2, $RectWidth, $RectHeight, $Pen)
_GDIPlus_GraphicsDrawImageRect($GDIPlusGUI, $Bitmap, 0, 0, $GUIWidth, $GUIHeight)
EndFunc