ich wollte mich mal bischen mit GDI+ beschäftigen aber fand zu meinem problem keine lösung. undzwar sollte es so aussehen:
von einem bestimmten punkt aus, wird eine linie in richtung der maus gezogen und wenn sich die maus position ändert, zieht die linie mit.
problem ist hier, dass die alten schon gezeichneten linien bestehen bleiben und das soll nicht sein.
hab die gui ma ausn forum übernommen und dann mein teil versucht:
PHP Code:
#include <Misc.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
Local $hDLL, $hGUI, $hPen, $hBitmap, $aMPos_Aktuell, $aMPos_neu, $mPosOL, $mPosUR
_GDIPlus_Startup()
$hDLL = DllOpen("user32.dll")
HotKeySet("{ESC}","_Exit")
$hDummy = GUICreate("")
$hGUI = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST,$WS_EX_TRANSPARENT),$hDummy)
GUISetBkColor(0xABCDEF, $hGUI)
_WinAPI_SetLayeredWindowAttributes($hGUI, 0xABCDEF, 255)
$hPen = _GDIPlus_PenCreate(0xFFFF0000,3)
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(@DesktopWidth, @DesktopHeight, $hGraphics)
$hBackBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
GUISetState()
While Sleep(10)
$aMPos_Aktuell = MouseGetPos()
If _IsPressed(61) Then $mPosOL = MouseGetPos()
If _IsPressed(62) Then $mPosUR = MouseGetPos()
If IsArray($mPosOL) And IsArray($mPosUR) Then
_GDIPlus_GraphicsDrawRect($hGraphics, $mPosOL[0], $mPosOL[1], $mPosUR[0]-$mPosOL[0], $mPosUR[1]-$mPosOL[1], $hPen)
_GDIPlus_GraphicsDrawLine($hGraphics, (($mPosUR[0]-$mPosOL[0])/2)+$mPosOL[0], $mPosUR[1], $aMPos_Aktuell[0], $aMPos_Aktuell[1], $hPen)
$aMPos_neu = MouseGetPos()
If $aMPos_Aktuell[0] <> $aMPos_neu[0] Or $aMPos_Aktuell[1] <> $aMPos_neu[1] Then ;
_GDIPlus_GraphicsClear($hBackBuffer) ;ist das nicht der richtige befehl?
$aMPos_Aktuell = $aMPos_neu ;
EndIf
EndIf
WEnd
Func _Exit()
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_PenDispose($hPen)
GUIDelete($hGUI)
DllClose($hDLL)
Exit
EndFunc
wie gesagt, hab mich eig. nie wirklich mit gdi+ beschäftigt und falls drin "drastische" fehler sind, bitte korregieren und sagen ^^
MfG
omer36