Thanks so much guys, this is what I am using now:
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <WinAPIGdi.au3>
Local $idMsg
_GDIPlus_Startup()
CreateChild()
Do; Loop until the user exits.
$idMsg = GUIGetMsg(1)
If $idMsg[0] > 0 Then MsgBox($MB_SYSTEMMODAL, "clicked", $idMsg[2], 1)
Until $idMsg[0] = $GUI_EVENT_CLOSE
Func CreateChild()
Local $hGUI = GUICreate("Test", 1024, 768)
$bg = GUICtrlCreatePic("C:\Program Files (x86)\AutoIt3\Examples\GUI\msoobe.jpg", 0, 0, 1024, 768)
GUICtrlSetState($bg,$GUI_DISABLE)
GUISetState(@SW_SHOW)
;the actual buttons created as transparent labels
Local $b001 = GUICtrlCreateLabel("", 20, 50, 7, 7, $WS_EX_TRANSPARENT)
GUICtrlSetBkColor($b001, $GUI_BKCOLOR_TRANSPARENT)
Local $b002 = GUICtrlCreateLabel("", 50, 50, 7, 7, $WS_EX_TRANSPARENT)
GUICtrlSetBkColor($b002, $GUI_BKCOLOR_TRANSPARENT)
Local $b003 = GUICtrlCreateLabel("", 80, 50, 7, 7, $WS_EX_TRANSPARENT)
GUICtrlSetBkColor($b003, $GUI_BKCOLOR_TRANSPARENT)
;draw button pins directly onto backgroup picture at button locations
Local $hBrushR = _GDIPlus_BrushCreateSolid(0xFFff0000) ;color format AARRGGBB (hex)
Local $hBrushG = _GDIPlus_BrushCreateSolid(0xFF00ff00) ;color format AARRGGBB (hex)
Local $hBrushB = _GDIPlus_BrushCreateSolid(0xFF0000ff) ;color format AARRGGBB (hex)
Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
_GDIPlus_GraphicsFillEllipse($hGraphic, 20, 50, 7, 7, $hBrushR)
_GDIPlus_GraphicsFillEllipse($hGraphic, 50, 50, 7, 7, $hBrushG)
_GDIPlus_GraphicsFillEllipse($hGraphic, 80, 50, 7, 7, $hBrushB)
EndFunc