Advertisement
flypip

Flydraw (pour dessiner)

Nov 22nd, 2011
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 1.89 KB | None | 0 0
  1. #include <GUIConstantsEx.au3>
  2. #include <Misc.au3>
  3. #include <WindowsConstants.au3>
  4.  
  5. Opt("GUIOnEventMode", 1)
  6. Opt("MustDeclareVars", 1)
  7. Opt("MouseCoordMode", 2)
  8.  
  9. Dim $Gui
  10. Dim $TailleFenetre[2] = [800, 600]
  11.  
  12. $Gui = GUICreate("Flyboard", $TailleFenetre[0], $TailleFenetre[1], -1, -1, -1, $WS_EX_CLIENTEDGE)
  13. GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
  14. GUISetBkColor(0xFFFFFF)
  15. GUISetState()
  16.  
  17. While(True)
  18.     If(_IsPressed("01")) Then
  19.         Dessiner()
  20.     EndIf
  21.     Sleep(10)
  22. WEnd
  23.  
  24. Func Dessiner()
  25.     ; On commence à dessiner
  26.     Local $Dessiner[2]
  27.     Local $BordureCote
  28.     Local $AnciennePos[2] = [-1, -1]
  29.     ; On récupère le DC de la gui
  30.     Local $MyHDC = DLLCall("user32.dll","int","GetDC","hwnd",$Gui)
  31.     If(Not(@error)) Then
  32.         $Dessiner = MouseGetPos()
  33.         If(Not(@error)) Then
  34.             ; On se déplace sous la souris
  35.             DLLCall ("gdi32.dll", "int", "MoveToEx", "ptr", $MyHDC[0], "int", $Dessiner[0], "int", $Dessiner[1], 'ptr', 0)
  36.             While(_IsPressed("01"))
  37.                 $Dessiner = MouseGetPos()
  38.                 If($Dessiner[0] <> $AnciennePos[0] Or $Dessiner[1] <> $AnciennePos[1])Then
  39.                     If($AnciennePos[0] = -1 And $AnciennePos[1] = -1) Then
  40.                         $AnciennePos[0] = $Dessiner[0]
  41.                         $AnciennePos[1] = $Dessiner[1]
  42.                     EndIf
  43.                     ; On trace une ligne qui part de l'ancienne position jusqu'à la nouvelle
  44.                     DLLCall ("gdi32.dll", "int", "LineTo", "int", $MyHDC[0], "int", $Dessiner[0], "int", $Dessiner[1])
  45.                     $AnciennePos[0] = $Dessiner[0]
  46.                     $AnciennePos[1] = $Dessiner[1]
  47.                 EndIf
  48.                 Sleep(10)
  49.             WEnd
  50.         EndIf
  51.     EndIf
  52.     ;~ On libère la mémoire
  53.     DLLCall("user32.dll","int","ReleaseDC","int",$MyHDC[0],"hwnd",0)
  54. EndFunc
  55.  
  56. Func quit()
  57.     Exit
  58. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement