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
IDispEventSimpleImpl4,CAppointmentAddin,&__uuidof (Office::_CommandBarButtonEvents)
//,public
IDispEventSimpleImpl5,CAppointmentAddin,&__uuidof (Office::_CommandBarButtonEvents)
,public IApptCommandBarsEvents
{
BEGIN_SINK_MAP(CAppointmentAddin)
SINK_ENTRY_INFO(4,
__uuidof(Office::_CommandBarButtonEvents),
0x01,
OnButtonClick,
&OnButtonClickInfo)
END_SINK_MAP
}