bool m_bChecked = false;
void CXXXDlg::OnXXXX()
{
// TODO: 在此添加命令处理程序代码
m_bChecked = !m_bChecked;
}
//
void CXXXDlg::OnInitMenuPopup(CMenu *pPopupMenu, UINT nIndex,BOOL bSysMenu)
{
if (!bSysMenu)
{
//查看弹出菜单中是否包含 ID_HI_MFC项。
int nCount = pPopupMenu->GetMenuItemCount();
for (int i = 0; i < nCount; i++)
{
if (pPopupMenu->GetMenuItemID(i) == ID_TIMER_REFRESH)
{
pPopupMenu->CheckMenuItem(ID_TIMER_REFRESH, MF_BYCOMMAND | (m_bChecked ? MF_CHECKED : MF_UNCHECKED));
break;
}
}
}
}
//
然后在消息映射中添加ON_WM_INITMENUPOPUP 项:
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
//{{AFX_MSG_MAP(CTestDlg)
........................
........................
//}}AFX_MSG_MAP
ON_WM_INITMENUPOPUP()
END_MESSAGE_MAP()