com — Переназначить проблему обратного вызова кнопки Word в C ++ ATL

Я следил за этим документом http://msdn.microsoft.com/en-us/library/office/bb462633(v=office.12).aspx при перепрофилировании кнопок Word / кнопок переключения, таких как Копировать, Вырезать и Полужирный, и был в состоянии успешно копировать поведение в проекте VSTO C #.

Я пытаюсь превратить это в устаревший проект плагинов слов, написанный на C ++ / ATL.

Для ленты XML у меня есть:

<command idMso='Cut' onAction='MyOnAction'/>

в IDL у меня есть:

[id(1), helpstring("method MyOnAction")] HRESULT MyOnAction([in] IDispatch* pRibbonCtrl, [in,out] VARIANT_BOOL *fCancelDefault);

а в Connect.cpp у меня есть

STDMETHODIMP CConnect::MyOnAction(IDispatch* pRibbonCtrl, VARIANT_BOOL* bRet)
{
MessageBox(NULL,"I'm here!","APP",MB_OK);
*bRet = VARIANT_FALSE;
return S_OK;
}

Я никогда не вижу окно сообщения при нажатии Bold. Кроме того, выделенный текст также не выделяется жирным шрифтом (об ошибках не сообщается)

Я искал в Интернете и нашел несколько дискуссий, начиная с 2010 года, утверждая, что обратный вызов для подписи onAction на самом деле неверный (http://www.office-outlook.com/outlook-forum/index.php/t/214992/) и должно быть:

STDMETHODIMP CConnect::MyOnAction(IDispatch* pRibbonCtrl, VARIANT* bRet)

то есть замена VARIANT_BOOL * на VARIANT *

Я тоже попробовал, но тоже не повезло

Есть идеи?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]