Subclassing means that you effectively "take control" of the edit box in order to make it react in the way you want it to. You're familiar with making a WindowProc for your window, right? This is very similar, you make a WindowProc and replace the edit box's default WindowProc so you can process the messages it receives.
There ya go, that'll be your initial WindowProc. To replace the default WindowProc with it, use:-
//put this with your globals at the top of your code
//Then add this template
LRESULT EditProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
return CallWindowProc(DefEditProc, hwnd, uMsg, wParam, lParam);
Where hwndEdit is your Edit box's window handle.
DefEditProc = (WNDPROC)SetWindowLong(hwndEdit, GWL_WNDPROC, (long)EditProc);
Make sure that you replace the WindowProc before your program exits! Otherwise bad things may happen. Do this via:-
SetWindowLong(hwndEdit, GWL_WNDPROC, (long)DefEditProc);