D
Daniel
I'm building an Outlook COM addin with C++. I've implemented a command bar
and button call back functions similarly to how things were explained in the
article http://www.codeproject.com/com/outlookaddin.asp. The command bar and
buttons live on the appointment item in outlook. I find that when two
appointment items are opened, and I click on the button in one, the call
back is fired in both. Any ideas? Thankyou.
Some pseudocode below
..h
//Appointment toolbar button events
extern _ATL_FUNC_INFO OnButtonClick;
typedef IDispEventSimpleImpl< 4,CAppointmentAddin,
&__uuidof(Office::_CommandBarButtonEvents)> ApptButton1Events;
class ATL_NO_VTABLE CAppointmentAddin :
public CComObjectRootEx
,public ISupportErrorInfo
,public IDispatchImpl
,public IInspectorEvents
,public IItemEvents
,public
IDispEventSimpleImpl<4,CAppointmentAddin,&__uuidof(Office::_CommandBarButtonEvents)>
//,public
IDispEventSimpleImpl<5,CAppointmentAddin,&__uuidof(Office::_CommandBarButtonEvents)>
,public IApptCommandBarsEvents
{
BEGIN_SINK_MAP(CAppointmentAddin)
SINK_ENTRY_INFO(4,
__uuidof(Office::_CommandBarButtonEvents),
0x01,
OnButtonClick,
&OnButtonClickInfo)
END_SINK_MAP
}
and button call back functions similarly to how things were explained in the
article http://www.codeproject.com/com/outlookaddin.asp. The command bar and
buttons live on the appointment item in outlook. I find that when two
appointment items are opened, and I click on the button in one, the call
back is fired in both. Any ideas? Thankyou.
Some pseudocode below
..h
//Appointment toolbar button events
extern _ATL_FUNC_INFO OnButtonClick;
typedef IDispEventSimpleImpl< 4,CAppointmentAddin,
&__uuidof(Office::_CommandBarButtonEvents)> ApptButton1Events;
class ATL_NO_VTABLE CAppointmentAddin :
public CComObjectRootEx
,public ISupportErrorInfo
,public IDispatchImpl
,public IInspectorEvents
,public IItemEvents
,public
IDispEventSimpleImpl<4,CAppointmentAddin,&__uuidof(Office::_CommandBarButtonEvents)>
//,public
IDispEventSimpleImpl<5,CAppointmentAddin,&__uuidof(Office::_CommandBarButtonEvents)>
,public IApptCommandBarsEvents
{
BEGIN_SINK_MAP(CAppointmentAddin)
SINK_ENTRY_INFO(4,
__uuidof(Office::_CommandBarButtonEvents),
0x01,
OnButtonClick,
&OnButtonClickInfo)
END_SINK_MAP
}