Недавно я использовал Chromium Embedded Framework для реализации веб-браузера. Теперь я хочу сделать контекстное меню, которое появляется при щелчке правой кнопкой мыши, но я не уверен, как это сделать.
как использовать cef_menu_handler для создания собственного меню?
Ответы (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;
}
person
Emerick Rogul
schedule
15.07.2012
Большое спасибо. и я понимаю это с помощью своего метода, что вполне вероятно.
- person Lecter Tang; 14.08.2012
кстати я хочу реализовать функцию Drag, и я переопределяю метод OnDragEnter своим ClientHandler, но не могу получить имя файла dragData, почему? Я могу получить имя файла в OnDragStart. Нужен ли ему JavaScript? с нетерпением жду вашего ответа.
- person Lecter Tang; 14.08.2012