0
最近,我一直在使用Chromium嵌入式框架來實現一個Web瀏覽器。現在我想創建一個右鍵單擊的上下文菜單,但我不知道如何執行此操作。如何使用cef_menu_handler創建自己的菜單?
最近,我一直在使用Chromium嵌入式框架來實現一個Web瀏覽器。現在我想創建一個右鍵單擊的上下文菜單,但我不知道如何執行此操作。如何使用cef_menu_handler創建自己的菜單?
您需要覆蓋CefMenuHandler
中的OnBeforeMenu
方法。在您的實現該方法,採用標準技術顯示上下文菜單和返回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;
}
非常感謝。我可以用我的方法意識到這一點。 –
通過我想要實現Drag函數的方式,並使用ClientHandler重寫OnDragEnter方法,但我無法獲取dragData的文件名,爲什麼?我可以在OnDragStart中獲取文件名。它需要JavaScript嗎?期待你的回答。 –