Hey Leute
Ja ich weiß, dass die Überschrift nen bisschen blöde ist, aber ich weiß nix besseres
Also ich würde gerne mit GDI+ TicTacToe nachschreiben und jetzt habe ich das Problem, dass ich keine Ahnung hab wie ich es schaffen kann dass die X nicht wieder verschwinden, sobald ich die Maus loslasse...
Ja das Skript ist noch in seiner Anfangsphase, also den Rest sollte ich selbst hinbekommen..
DFPWare
Spoiler anzeigen
#include <GDIPlus.au3>
#include <Misc.au3>
$hWnd = GUICreate("Tic Tac Toe",315,315)
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup()
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hwnd)
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(315, 315, $hGraphics)
Global $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hBuffer, 2)
$hBgBrush = _GDIPlus_BrushCreateSolid(0xFF79ABFF)
Global $hStrichBrush = _GDIPlus_BrushCreateSolid(0xFF000000)
$hXOPen = _GDIPlus_PenCreate(0xFF112233,10)
GUISetState()
[/autoit] [autoit][/autoit] [autoit]Do
$msg = GUIGetMsg()
_GDIPlus_GraphicsFillRect($hBuffer,0,0,315,315,$hBgBrush)
[/autoit] [autoit][/autoit] [autoit]Select
Case _IsPressed(01)
$Pos = GUIGetCursorInfo()
Select
Case $Pos[0] <= 100 And $Pos[0] >= 1 And $Pos[1] <= 100 And $Pos[1] >= 1 ;oben links
_GDIPlus_GraphicsDrawLine($hBuffer,10,10,90,90,$hXOPen)
_GDIPlus_GraphicsDrawLine($hBuffer,90,10,10,90,$hXOPen)
Case $Pos[0] <= 100 And $Pos[0] >= 1 And $Pos[1] <= 205 And $Pos[1] >= 106 ;mitte links
_GDIPlus_GraphicsDrawLine($hBuffer,10,115,90,195,$hXOPen)
_GDIPlus_GraphicsDrawLine($hBuffer,90,115,10,195,$hXOPen)
Case $Pos[0] <= 100 And $Pos[0] >= 1 And $Pos[1] <= 310 And $Pos[1] >= 211 ;unten links
_GDIPlus_GraphicsDrawLine($hBuffer,10,220,90,300,$hXOPen)
_GDIPlus_GraphicsDrawLine($hBuffer,90,220,10,300,$hXOPen)
Case $Pos[0] <= 205 And $Pos[0] >= 106 And $Pos[1] <= 100 And $Pos[1] >= 1 ;oben mitte
_GDIPlus_GraphicsDrawLine($hBuffer,115,10,195,90,$hXOPen)
_GDIPlus_GraphicsDrawLine($hBuffer,195,10,115,90,$hXOPen)
Case $Pos[0] <= 205 And $Pos[0] >= 106 And $Pos[1] <= 205 And $Pos[1] >= 106 ;mitte mitte
_GDIPlus_GraphicsDrawLine($hBuffer,115,115,195,195,$hXOPen)
_GDIPlus_GraphicsDrawLine($hBuffer,195,115,115,195,$hXOPen)
Case $Pos[0] <= 205 And $Pos[0] >= 106 And $Pos[1] <= 310 And $Pos[1] >= 211 ;unten mitte
_GDIPlus_GraphicsDrawLine($hBuffer,115,220,195,300,$hXOPen)
_GDIPlus_GraphicsDrawLine($hBuffer,195,220,115,300,$hXOPen)
Case $Pos[0] <= 310 And $Pos[0] >= 211 And $Pos[1] <= 100 And $Pos[1] >= 1 ;oben rechts
_GDIPlus_GraphicsDrawLine($hBuffer,220,10,300,90,$hXOPen)
_GDIPlus_GraphicsDrawLine($hBuffer,300,10,220,90,$hXOPen)
Case $Pos[0] <= 310 And $Pos[0] >= 211 And $Pos[1] <= 205 And $Pos[1] >= 106 ;mitte rechts
_GDIPlus_GraphicsDrawLine($hBuffer,220,115,300,195,$hXOPen)
_GDIPlus_GraphicsDrawLine($hBuffer,300,115,220,195,$hXOPen)
Case $Pos[0] <= 310 And $Pos[0] >= 211 And $Pos[1] <= 310 And $Pos[1] >= 211 ;unten rechts
_GDIPlus_GraphicsDrawLine($hBuffer,220,220,300,300,$hXOPen)
_GDIPlus_GraphicsDrawLine($hBuffer,300,220,220,300,$hXOPen)
EndSelect
EndSelect
_GitterZeichnen()
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, 315, 315)
Until $msg = -3
Func _GitterZeichnen()
_GDIPlus_GraphicsFillRect($hBuffer,100,0,5,315,$hStrichBrush)
_GDIPlus_GraphicsFillRect($hBuffer,205,0,5,315,$hStrichBrush)
_GDIPlus_GraphicsFillRect($hBuffer,0,100,315,5,$hStrichBrush)
_GDIPlus_GraphicsFillRect($hBuffer,0,205,315,5,$hStrichBrush)
EndFunc