Thursday, August 21, 2008

How to post self pop-up menu for CHtmlView in MFC

Just override the CHtmlView::OnShowContextMenu funcion and return S_OK.

HRESULT CWebBrowserView::OnShowContextMenu(DWORD dwID, LPPOINT ppt, LPUNKNOWN pcmdtReserved, LPDISPATCH pdispReserved)

{

CMenu menu;

int pMenuID = 0;

VERIFY(menu.LoadMenu(IDR_WEBBROWSER));

CMenu* pPopup = menu.GetSubMenu(pMenuID);

ASSERT(pPopup != NULL);

pPopup->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON, ppt->x, ppt->y, this);

return S_OK;

// Don't call the base version

/*return CHtmlView::OnShowContextMenu(DWORD dwID, LPPOINT ppt, LPUNKNOWN pcmdtReserved, LPDISPATCH pdispReserved);*/

}

No comments: