所以我在我的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);
隐藏了一些上下文菜单项。但不是全部。上下文菜单仍然出现在鼠标右键。
答案 0 :(得分:0)
Shockwave ActiveX有一个名为Menu的属性。将此设置为false,它应该可以正常工作。