In the following snippet of code I have created a new popup menu and added a couple menu items with AppendMenu(). The popup is then appended to the menu associated with the CFrame window of the program. The function is called from the OnCreate() message handler of the CView class of the
int CSigmaView::OnCreate( LPCREATESTRUCT lpCreateStruct)
When the program runs, the top-level menu option "Reports" is apparently created OK because it appears at the end of the menu bar for the frame window. When the new menu option is selected it becomes highlighted and the program appears to hang for a few seconds as though it is processing something but the popup menu never appears and no error is generated. I have used standard command ID's for the added menu items just for the sake of creating and testing the function.
void CSigmaReport::SetRptMenu(CWnd *pWnd)
cPopup.AppendMenu(MF_ENABLED|MF_STRING, ID_FILE_OPEN, "&Bay Details");
cPopup.AppendMenu(MF_ENABLED|MF_STRING, ID_FILE_OPEN, "&Vac Details");
pMenu = pWnd->GetMenu();