This question has been bugging me for some time now. What exactly is a menu?
Is it a separate window (has a registered window class, window procedure)?
Or is it somehow part of it's parent window's non-client area?
This blog entry sparked my interest.
[edit]
After some crazy right-clicking and using Spy++, I have discovered that menus are indeed separate windows with the window class name "PopupMenu".
[/edit]