'
' ----------------------------------------------------------------------------
' SET NEW WINDOW PROCEDURE     MANY CALLBACK      TURN AROUND       by Jacques
'
' NO INDEX,   AS MANY NEW WNDPROC AS YOU WANT,  MUCH EASIERS
'
' Thanks to Warriant for relaunching the subject
' August 13th, 2006
' ----------------------------------------------------------------------------
' Note:
' NewWndProc.Inc   is fully compatible with all the CallBack_X.Inc
' You can include any or all of them in your code. NewCallAll.Inc
' Include all the CallBack_X.Inc and NewWndProc.Inc
' ----------------------------------------------------------------------------
' 
' NewWndProc.Inc is designed to ease RapidQ Component SubClassing, what 95%
' of the time CallBacks do.
'
' Example:
' -------
'    $Include "NewWndProc.inc"
'
'    CREATE RichEdit1 AS QRICHEDIT
'        Height = 200
'        Align = alTop
'    END CREATE
'
'    DefInt OldWndProc1
'
'    FUNCTION RichEditCallback1(hWnd AS LONG, uMsg AS LONG, wParam AS LONG, lParam AS LONG) As Long
'        ' Do Stuff
'        Result = CallWindowProc(OldWndProc1, hWnd, uMsg, wParam, lParam)
'    END FUNCTION
'    ' ---- Subclassing process ----
'    DefInt iTmpBind
'    Bind iTmpBind To RichEditCallback1
'    OldWndProc1 = SetNewWndProc (RichEdit1.Handle, iTmpBind)
'    ' -----------------------------
'
' Note: Include are fully protected from double definitions . You can include
'       all these includes and do it twice, RC.EXE will report no error.
' ----------------------------------------------------------------------------
'