name22

GUIHole Example

May 15th, 2011
515
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <GUIConstants.au3>
  2. #include <GDIPlus.au3>
  3.  
  4. ; -Author: name22 (www.autoit.de)
  5.  
  6. $hWnd = GUICreate("Example by name22", 400, 400)
  7. $cDummy_Start = GUICtrlCreateDummy()
  8. $cButton1 = GUICtrlCreateButton("Button 1", 50, 50, 100, 50)
  9. $cButton2 = GUICtrlCreateButton("Button 2", 70, 200, 100, 50)
  10. $cDummy_End = GUICtrlCreateDummy()
  11. GUISetState()
  12.  
  13. _GDIPlus_Startup()
  14.  
  15. $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hWnd)
  16. _GDIPlus_GraphicsSetSmoothingMode($hGraphics, 2)
  17.  
  18. For $i = $cDummy_Start + 1 To $cDummy_End - 1
  19.     $aPos = ControlGetPos($hWnd, "", $i)
  20.     ConsoleWrite($aPos[0] & @CRLF)
  21.     _GDIPlus_GraphicsSetClipRect($hGraphics, $aPos[0], $aPos[1], $aPos[2], $aPos[3], 3)
  22. Next
  23.  
  24. _GDIPlus_GraphicsFillEllipse($hGraphics, 20, 20, 300, 300)
  25.  
  26. While True
  27.     Switch GUIGetMsg()
  28.         Case $GUI_EVENT_CLOSE
  29.             Exit
  30.         Case $cButton1
  31.             MsgBox(64, "Click", "Button 1")
  32.         Case $cButton2
  33.             MsgBox(64, "Click", "Button 2")
  34.     EndSwitch
  35. WEnd
  36.  
  37.  
  38. ; #FUNCTION# ====================================================================================================================
  39. ; Name...........: _GDIPlus_GraphicsSetClipRect
  40. ; Description ...: Updates the clipping region of a Graphics object to a region that is the combination of itself and a rectangle
  41. ; Syntax.........: _GDIPlus_GraphicsSetClipRect($hGraphics, $nX, $nY, $nWidth, $nHeight[, $iCombineMode = 0])
  42. ; Parameters ....: $hGraphics - Pointer to a Graphics object
  43. ;                  $nX        - X coordinate of the upper-left corner of the rectangle
  44. ;                  $nY        - Y coordinate of the upper-left corner of the rectangle
  45. ;                  $nWidth    - Width of the rectangle
  46. ;                  $nHeight   - Height of the rectangle
  47. ;                  $iCombineMode - Regions combination mode:
  48. ;                  |0 - The existing region is replaced by the new region
  49. ;                  |1 - The existing region is replaced by the intersection of itself and the new region
  50. ;                  |2 - The existing region is replaced by the union of itself and the new region
  51. ;                  |3 - The existing region is replaced by the result of performing an XOR on the two regions
  52. ;                  |4 - The existing region is replaced by the portion of itself that is outside of the new region
  53. ;                  |5 - The existing region is replaced by the portion of the new region that is outside of the existing region
  54. ; Return values .: Success      - True
  55. ;                  Failure      - False and either:
  56. ;                  |@error and @extended are set if DllCall failed
  57. ;                  |$GDIP_STATUS contains a non zero value specifying the error code
  58. ; Remarks .......: None
  59. ; Related .......: None
  60. ; Link ..........; @@MsdnLink@@ GdipSetClipRect
  61. ; Example .......; No
  62. ; ===============================================================================================================================
  63. Func _GDIPlus_GraphicsSetClipRect($hGraphics, $nX, $nY, $nWidth, $nHeight, $iCombineMode = 0)
  64.     Local $aResult = DllCall($ghGDIPDll, "uint", "GdipSetClipRect", "hwnd", $hGraphics, "float", $nX, "float", $nY, "float", $nWidth, "float", $nHeight, "int", $iCombineMode)
  65.  
  66.     If @error Then Return SetError(@error, @extended, False)
  67.     $GDIP_STATUS = $aResult[0]
  68.     Return $aResult[0] = 0
  69. EndFunc   ;==>_GDIPlus_GraphicsSetClipRect
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×