下面是用ATL编写的鼠标在控件上点击右键时弹出上下文菜单的代码(没问题).     HMENU m_hMenu;//上下文菜单句柄
    LRESULT OnRButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
    //LRESULT OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)这也行吧
{
// TODO : Add Code for message handler. Call DefWindowProc if necessary.
 if(m_hMenu==NULL) //上下文菜单句柄
 {
   HMENU hMenu = 
       LoadMenu(_Module.GetResourceInstance(),MAKEINTRESOURCE(IDR_POPMENU));
   m_hMenu = GetSubMenu(hMenu,0);
 }
 POINT hp;
 hp.x = LOWORD(lParam);
 hp.y = HIWORD(lParam);
 ClientToScreen(&hp);
TrackPopupMenu(m_hMenu,TPM_LEFTALIGN |TPM_RIGHTBUTTON,hp.x,hp.y,0,this->m_hWnd,NULL);
return 0;
}注释:IDR_POPMENU也在菜单资源中定义了.
点击右键,弹出上下文菜单没问题.
问题是:如何编写上下文菜单中各子菜单项的响应代码?