下面代码在**处错哪了?(从一书上得来)
void CEx1Dlg::OnContextMenu(CWnd* pWnd, CPoint point) 
{
CMenu*m_lMenu;
CPoint m_pPoint;
m_pPoint=point;
ClientToScreen(&m_pPoint);
m_lMenu->GetSubMenu();//**
m_lMenu=m_lMenu->GetSubMenu();//**
m_lMenu->TrackPopupMenu(TPM_CENTERALIGN+TPM_LEFTBUTTON,m_pPoint.x,m_pPoint.y,this,NULL);}
谢谢

解决方案 »

  1.   

    肯定错了吧。m_lMenu都没有初始化。
      

  2.   

    CMenu* menu_bar = AfxGetMainWnd()->GetMenu();
       CMenu* file_menu = menu_bar->GetSubMenu(0);    
        file_menu->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON, point.x, 
          point.y, this);
      

  3.   

    少了这句CMenu* m_lMenu = AfxGetMainWnd()->GetMenu();
      

  4.   

    楼上的说的很对,首先得到主窗口的窗口句柄,再用GetSubMenu(0)得到其中一个菜单的句柄。然后就跟踪鼠标显示菜单。
      

  5.   

    我想问一下GetSubMenu(0)这个参数能不能改成其它呀。