MFC ActiveX CShockwaveflash元素。如何禁用上下文菜单?

时间:2013-11-21 13:14:44

标签: c++ flash mfc activex contextmenu

所以我在我的MFC应用程序中使用ActiveX CShockwaveflash元素,我想禁用上下文菜单。

我尝试处理ON_WM_CONTEXTMENU()消息并覆盖OnContextMenu(CWnd* cWnd, CPoint point)函数。那没用。

此外,我试图为这样的鼠标事件设置钩子:

g_hMouseHook = SetWindowsHookEx(WH_MOUSE, &OnMouseEvent, NULL, GetCurrentThreadId());

在OnMouseEvent()函数内部,我检查WPARAM。但只有鼠标左键点击。

if ((nCode >= 0) && (wParam == WM_LBUTTONDOWN))
{
    // fires here on left mouse down
}
else if ((nCode >= 0) && (
    (wParam == WM_RBUTTONDOWN) || 
    (wParam == WM_RBUTTONUP) ||
    (wParam == WM_CONTEXTMENU)
)
{
    // never fires here
}

我也试过

m_flashPlayer.put_Menu(FALSE);

隐藏了一些上下文菜单项。但不是全部。上下文菜单仍然出现在鼠标右键。

1 个答案:

答案 0 :(得分:0)

Shockwave ActiveX有一个名为Menu的属性。将此设置为false,它应该可以正常工作。