Try this :
#include <WinAPIShellEx.au3>
#include <WinAPIConv.au3>
#include <GUIConstants.au3>
Global $hGUI = GUICreate("UpDown and scroll", -1, -1, -1, -1, $WS_SIZEBOX)
Global $idInput = GUICtrlCreateInput("2", 10, 10, 50, 20)
;~ $hInput = GUICtrlGetHandle($idInput)
Global $idUpdown = GUICtrlCreateUpdown($idInput)
;~ $hUpdown =GUICtrlGetHandle($idUpdown)
GUISetState(@SW_SHOW)
Global $hDll = DllCallbackRegister(SubclassProc, 'lresult', 'hwnd;uint;wparam;lparam;uint_ptr;dword_ptr')
Global $pDll = DllCallbackGetPtr($hDll)
_WinAPI_SetWindowSubclass($hGUI, $pDll, $idInput, 0)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
GUIDelete()
_WinAPI_RemoveWindowSubclass($hGUI, $pDll, 1000)
DllCallbackFree($hDll)
Func SubclassProc($hWnd, $iMsg, $wParam, $lParam, $iID, $pData)
If $iMsg = $WM_MOUSEWHEEL Then
Local $iDelta = _WinAPI_HiWord($wParam)
Local $iCurrent = GUICtrlRead($iID)
GUICtrlSetData($iID, $iDelta > 0 ? $iCurrent + 1 : $iCurrent - 1)
EndIf
Return _WinAPI_DefSubclassProc($hWnd, $iMsg, $wParam, $lParam)
EndFunc ;==>_SubclassProc