呈现灰色的原因是没有对应的消息响应函数与菜单相关联,只需要自己写一个消息响应函数即可,例如孙鑫的VC++教程第六章有相关动态添加菜单的教程,但是此教程在使用动态添加菜单项之后并没有对菜单项是灰色的进行说明,话不多说代码如下,初学者可以看看:
GetMenu()->GetSubMenu(0)->AppendMenu(MF_STRING,114,"wo cao ni da ye");
这是原孙鑫老师教程中动态添加菜单项的代码,这样双引号里的内容显示时是灰色的。
解决办法,在类的头文件里添加afx_msg void OnShowDaye();,然后在类的实现里写函数的实现,
void OnShowDaye()
{
MessageBox("wo shi da ye");
}
在消息响应队列中添加
ON_COMMAND(114,OnShowDaye);
然后再编译运行原来孙鑫教程里面的menu2例子,就可以了