MFC中添加的菜单项为什么始终是灰色的

来源:百度知道 编辑:UC知道 时间:2024/06/19 14:41:54
我新建一个类,在BEGIN_NESSAGE_MAP中添加了ON_COMMAND消息,菜单项的ID也没有问题,加了响应函数,编译通过,可是运行的时候菜单项总是灰色的,请问还需要什么东西。
消息处理函数好像就是用BEGIN_NESSAGE_MAP来指定的吧,我已经指定好了。
那个BEGIN_NESSAGE_MAP好像在MainFrm里指定就不是灰色的,但我想放在别的类里面要怎么做呢,说清楚点,谢谢

建立了一个函数:
void CISODATADlg::UpMenu()
{
if (m_bImportData)
{
(CButton*)GetDlgItem(IDC_BUTTON_DEL)->EnableWindow(TRUE);
(CButton*)GetDlgItem(IDC_BUTTON_EDIT)->EnableWindow(TRUE);
(CButton*)GetDlgItem(IDC_BUTTON_ISODATA)->EnableWindow(TRUE);
GetMenu()->CheckMenuItem(ID_SETTING,MF_BYCOMMAND   |   MF_CHECKED);
GetMenu()->EnableMenuItem(1,MF_ENABLED|MF_BYPOSITION);
GetMenu()->CheckMenuItem(ID_FILE_SAVE,MF_BYCOMMAND   |   MF_CHECKED);
GetMenu()->EnableMenuItem(2,MF_ENABLED|MF_BYPOSITION);

}
else
{
GetMenu()->CheckMenuItem(1,MF_BYCOMMAND   |   MF_CHECKED);
GetMenu()->EnableMenuItem(1,MF_GRAYED|MF_BYPOSITION);
GetMenu()->CheckMenuItem(2,MF_BYCOMMAND   |   MF_CHECKED);
GetMenu()->EnableMenuItem(2,MF_GRAYED|MF_BYPOSITION);
(CButton*