Basically, it means replacing the window's existing window procedure with another one (typically one you've written). This allows you to change certain aspects of the window's behaviour, while passing other events onto the original window procedure. You might do this if, say, you wanted to trap certain keypresses in an edit control, or draw a button differently, but reuse the general behaviour of the control.