Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ MFC ActiveX CSF是一个Flash元素。如何禁用上下文菜单?_C++_Flash_Mfc_Activex_Contextmenu - Fatal编程技术网

C++ MFC ActiveX CSF是一个Flash元素。如何禁用上下文菜单?

C++ MFC ActiveX CSF是一个Flash元素。如何禁用上下文菜单?,c++,flash,mfc,activex,contextmenu,C++,Flash,Mfc,Activex,Contextmenu,因此,我在MFC应用程序中使用ActiveX CSF元素,我想禁用上下文菜单 我试图处理ON_WM_CONTEXTMENU()消息并覆盖OnContextMenu(CWnd*CWnd,CPoint point)函数。那没用 我还尝试为鼠标事件设置钩子,如下所示: g_hMouseHook = SetWindowsHookEx(WH_MOUSE, &OnMouseEvent, NULL, GetCurrentThreadId()); 在OnMouseEvent()函数中,我检查WPARA

因此,我在MFC应用程序中使用ActiveX CSF元素,我想禁用上下文菜单

我试图处理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);

隐藏了一些上下文菜单项。但不是所有的。右键单击时,上下文菜单仍然显示。

Shockwave ActiveX具有名为“菜单”的属性。将此设置为false,它应该可以工作。

我正在使用CS1类。那里没有“菜单”或类似的东西。有设置菜单(CMenu*pMenu)方法。我试着调用它并传递NULL作为参数。那没用。快捷菜单仍然显示在鼠标右键下。我不知道你在找它。但是,正如我告诉您的,IShockwaveFlash接口有一个名为Menu的属性。使用Typelib查看器可以看到它。CS1有一个基本类型:CWnd。我在Typelib查看器中的任何地方都没有看到IShockWaveLash…您只是从您得到的包装器中说话。我是从控件所支持的ActiveX接口说起的。试着去了解差异;)哦我最终得到了:)但是我用create()方法创建了我的元素。由于特定的原因,我不能通过VisualStudio对话框构造函数将此元素添加到对话框中。