Так что я использую элемент ActiveX CShockwaveflash в моем приложении MFC, и я хочу отключить контекстное меню.MFC ActiveX CShockwaveflash элемент. Как отключить контекстное меню?
Я попытался обработать сообщение ON_WM_CONTEXTMENU() и перезаписать функцию OnContextMenu(CWnd* cWnd, CPoint point)
. Это не сработало.
Также я попытался SUT до крючка для событий мыши, как это:
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);
Это спрячет некоторые из пунктов контекстного меню. Но не все из них. Контекстное меню по-прежнему отображается правой кнопкой мыши.
Я использую класс CShockwaveflash1. Нет «конструктора» меню или что-то в этом роде. Существует метод SetMenu (CMenu * pMenu). Я попытался назвать это и передать NULL в качестве пареметра. Это не помогло. Контекстное меню по-прежнему отображается правой кнопкой мыши. – Alexandr
Я не знаю, вы его искали. Но интерфейс IShockwaveFlash имеет свойство «Меню», как я уже говорил. Используйте средство просмотра Typelib, и вы можете его увидеть. – xMRi
* удаленное сообщение * – Alexandr