T
tnemec78
Hi,
Firstly let me thank you for your feedback in this group thus far. I
really appreciate it.
I managed to write a COM Add-in in C++ that has a toolbar with buttons
in every Explorer/Inspector window.
My architecture is as follows:
CAddin - implements _IDTExtensibility2, has handlers for
OnNewExplorer, OnNewInspector
CExplorerWrapper - wrapper class for explorer events
(OnSelectionChange, OnClose, ...)
CInspectorWrapper - wrapper class for inspector events (OnActivate,
OnClose)
CToolbarWrapper - wrapper class for the toolbar buttons
(OnButton1Click, SetEnabled, SetVisible, ...)
Now I decided to use ribbons for 2007+ versions of outlook.
Unfortunately I had to break my OO design here...
My CAddin class newly implements IRibbonExtensibility.
GetCustomUI gets fired and returns XML for the
"Microsoft.Outlook.Mail.Read" Inspector window.
So far so good. I had to implement the OnRibbonButtonClick events
inside my CAddin (don't know how to do this inside CInspectorWrapper)
- this is a pain as it breaks my OO concept, but it works. I simply
cast the RibbonControl->GetContext() to Inspector type. If someone
knew how to do it inside the CInspectorWrapper then please advise - I
can post source code extracts if necessary.
But I don't know how to set the state of the ribbon buttons (enabled/
disabled) inside CInspector::OnActivate. The state of these buttons
can differ in every CInspectorWrapper instance - is there a special
event callback I need to implement or can I do it somehow using my
IRibbonUI pointer that I got from OnLoad handler?
Firstly let me thank you for your feedback in this group thus far. I
really appreciate it.
I managed to write a COM Add-in in C++ that has a toolbar with buttons
in every Explorer/Inspector window.
My architecture is as follows:
CAddin - implements _IDTExtensibility2, has handlers for
OnNewExplorer, OnNewInspector
CExplorerWrapper - wrapper class for explorer events
(OnSelectionChange, OnClose, ...)
CInspectorWrapper - wrapper class for inspector events (OnActivate,
OnClose)
CToolbarWrapper - wrapper class for the toolbar buttons
(OnButton1Click, SetEnabled, SetVisible, ...)
Now I decided to use ribbons for 2007+ versions of outlook.
Unfortunately I had to break my OO design here...
My CAddin class newly implements IRibbonExtensibility.
GetCustomUI gets fired and returns XML for the
"Microsoft.Outlook.Mail.Read" Inspector window.
So far so good. I had to implement the OnRibbonButtonClick events
inside my CAddin (don't know how to do this inside CInspectorWrapper)
- this is a pain as it breaks my OO concept, but it works. I simply
cast the RibbonControl->GetContext() to Inspector type. If someone
knew how to do it inside the CInspectorWrapper then please advise - I
can post source code extracts if necessary.
But I don't know how to set the state of the ribbon buttons (enabled/
disabled) inside CInspector::OnActivate. The state of these buttons
can differ in every CInspectorWrapper instance - is there a special
event callback I need to implement or can I do it somehow using my
IRibbonUI pointer that I got from OnLoad handler?