Normally, I would use wParam of WM_SETCURSOR message to identify the child window the cursor is over.
Something like this...
hwndChildWindow = CreateWindow(.....WS_CHILD...
if((HWND) wParam == hwndChildWindow)
// Do whatever
But this time I have to use child-window identifiers, instead of handles, to differentiate one child window from another. How can I get the above code to work using child-window identifiers instead of handles??