25. I've added a menu to my dialog. Why don't the
UPDATE_COMMAND_UI handlers get called?
The code which dispatches ON_UPDATE_COMMAND_UI messages for
menu items is implemented inside CFrameWnd, NOT CWnd. Since CDialog is derived from CWnd,
you don't inherit this code. Bummer.
What can you do ? Well you can roll your own solution using
the WM_INITMENUPOPUP message. For sample code, see this knowledgebase
article:
http://support.microsoft.com/support/kb/articles/Q242/5/77.asp
You can also handle WM_KICKIDLE (which exists to support
OnIdle-type functionality for dialogs) to achieve this : see John Wismar's article on
CodeGuru, at the following URL :
http://www.codeguru.com/dialog/OnUpdate.shtml