如何使用cef_menu_handler创建自己的菜单?

时间:2012-07-03 05:14:53

标签: c++ chromium chromium-embedded

最近,我一直在使用Chromium Embedded Framework来实现Web浏览器。现在我想制作一个右键单击出现的上下文菜单,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

您需要覆盖OnBeforeMenu中的CefMenuHandler方法。在您的方法实现中,使用标准技术显示上下文菜单并返回true:

bool MyMenuHandler::OnBeforeMenu(CefRefPtr<CefBrowser> browser,
                                 const CefMenuInfo& menuInfo)
{
  HMENU hPopupMenu = CreatePopupMenu();
  InsertMenu(hPopupMenu, 0, MF_BYPOSITION | MF_STRING, ID_POPUP_FOO, "Foo");
  TrackPopupMenu(hPopupMenu, TPM_BOTTOMALIGN | TPM_LEFTALIGN, xpos, ypos, 0, m_hWnd, NULL);
  return true;
}