Thank you for the reply, Ken. I got the answers for my question. But that's
not the end, i still have a question:
How to change control image by code, in getImage callback? How about multiple
inspector?
As what i understand, we can call IRibbonUI::InvalidateControl("myctrlid")
make the control initialize and get in callback function again, then set the
image we wanted. But in multiple inspector, all control id are "myctrlid", if
i call InvalidateControl, all inspector's getImage callback will fire, i
don't know how to process it. I checked the IRibbonControl::GetContext, and
compare it with active inspector, if equal, set the new image, if not, return
old one, question is that how to know which is the old one, If i open 10
inspector, should there be 9 old images? How to process? I'm quite confused.
- wrote:
> If you look at the ribbon stuff I told you to look at you will see that
> there are separate GetCustomUI() callbacks for messages in create and read
> modes. So you can supply different XML for each type. One provides
> "Microsoft.Outlook.Mail.Read" and the other provides
> ""Microsoft.Outlook.Mail.Compose" as the RibbonID argument.
> There is no way to get or handle any callbacks for any custom ribbon control
> not created by you. If that's what you want forget about it.
> If what you want is to handle clicks on built-in ribbon controls that is
> repurposing the controls, and there are articles on how to do that. Just
> google for "repurpose ribbon controls".
> Many of these questions are already answered if you look at the materials
> that are available.
>
> > Thank you for reply, Ken. Ribbon is quite strange to me, i'm trying at my
> > best, now two questions, 1.)How could i load two different xml file for
> [quoted text clipped - 10 lines]
> > pls
> > help me out? thanks.