title: In win32 programming, If I create another top level window, do I need a separate window procedure for it?
body: <p>I've run into an issue in my application that creates several top level windows (besides the main window):</p>
  
  <p>The issue is that if I close any of the top level windows, my main window also closes. It took me several days to understand what was happening and I think I got it. It looks like the other top level windows use the same window procedure that my main window uses, as a result when I close any of the top level windows, the window procedure receives the <code>WM_CLOSE</code> message and that shuts down the whole application.</p>
  
  <p>Therefore I've a question - if I create a new top level window, do I need to register a new class and associate a new window procedure for it?</p>