由于以前用MFC都是写一些小工具作自己用,因此很少添加菜单。这段时间在弄一个比较正式的东西,因此用上了MDI,但发现添加了一个菜单后,发现菜单竟然是灰色的。不管怎样设置这个菜单的属性,菜单还是灰灰的。捣鼓了很久,终于发现当这个菜单没有添加处理事件的时候,它就死活都是灰的。 看了一下MFC的代码,原来是CWnd类的OnCmdMsg函数会迭代一遍菜单,如果发现菜单项没有处理事件就将它禁用。