yangfanxing__ 发表于 2008-10-3 10:00

关于添加映射菜单消息和成员函数。

我在学习VC++6.0;按照参考书的说法,添加菜单MenuA的COMMAND和OnUpdateColorMenuA的消息映射后应该在ProjectView.h中BEGIN_MESSAGE_MAP与END_MESSAGE_MAP之间多了
void OnMenuA(void);
void OnUpdateMenuA(CCmdUI *pCmdUI);
两行代码;在ProjectView.cpp文档末多了
void CAboutDlg::OnMenuA()
{
// TODO: Add your command handler code here

}
void CAboutDlg::OnUpdateMenuA(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here

}
代码行。
可是实际操作是这些增加的代码行却只是在Project.cpp中找到,而且新建菜单是灰色的???

请高人指教!

TestGuru 发表于 2008-10-3 12:06

ProjectView.h或ProjectView.cpp应包含以下三个部分:

1.成员函数定义:   
afx_msg void OnMenuA(void);
afx_msg void OnUpdateMenuA(CCmdUI *pCmdUI);
DECLARE_MESSAGE_MAP()


2.消息映射:
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
ON_COMMAND(COMMAND_ID, OnMenuA)
ON_UPDATE_COMMAND_UI(COMMAND_ID,OnUpdateMenuA)
END_MESSAGE_MAP()

3.成员函数代码:

void CAboutDlg::OnMenuA()
{
// TODO: Add your command handler code here

}
void CAboutDlg::OnUpdateMenuA(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here

}

若没有添加第2步消息映射, 菜单项就会grey out

yangfanxing__ 发表于 2008-10-4 00:04

:handshake
Thanks anyhow!
页: [1]
查看完整版本: 关于添加映射菜单消息和成员函数。