如果是MFC程序,处理ON_UPDATE_COMMAND_UI,SetCheck即可。
如果用SDK,在TrackPopupMenu前或处理WM_INITMENUPOPUP中,CheckMenuItem.

解决方案 »

  1.   

    我把我的代码贴上来,大家帮我看看:
    CMenu* pSubMenu;bool checkFlag;是CMainFrame添加的成员变量
    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
              CMenu * pTopMenu = GetMenu ();
    pSubMenu = pTopMenu->GetSubMenu (3);
    }
    //一下为菜单项的处理函数
    void CMainFrame::Test() 
    {
    // TODO: Add your command handler code here
    if ( checkFlag == true )
    {
    pSubMenu ->CheckMenuItem ( IDM_TEXT,MF_UNCHECKED);
    checkFlag = false;
    }
    if ( checkFlag == false )
    {
    pSubMenu ->CheckMenuItem ( IDM_TEXT, MF_CHECKED);
    checkFlag = true;
    }
    实现刚才我说的功能!
      

  2.   

    添加菜单的ON_UPDATE_COMMAND_UI消息,然后pCmdUI->SetCheck(checkFlag)
      

  3.   

    最简单的办法,在设计的时候直接在属性中设置check属性就可以了
      

  4.   

    pSubMenu ->CheckMenuItem ( IDM_TEXT,MF_UNCHECKED | MF_BYCOMMAND);