Microsoft’s documentation for programming the Office Ribbon is pretty sparse at best. There are two pages you can get Callback signatures:
1. Customizing the 2007 Office Fluent Ribbon for Developers (Part 3 of 3)
2. Introduction to the Office 2010 Backstage View for Developers
Notice that neither of these documents sound like where you would expect callback signatures “part 3 of 3”, and “introduction to the…” Also, the backstage introduction article contains rehashes of most of the office 2007 callbacks in a painfully verbose fashion.
I am here to help.
How about an excel spreadsheet containing the callbacks, associated control, source (2007 vs 2010) and the signatures in 4 different languages? Did I mention the data is already in a table and sorted by callback name?
Here you go:
Full Office Ribbon Callback List Update: I have uploaded this file to a public SkyDrive so it can be viewed online, since I have needed to make some changes:
Office Ribbon Callbacks
This document is not a control -> callback mapping. The typical use case is:
I am building Office customizations using xml.
I need to implement X callback, but do not know the signature.
I look up the callback by name, then make sure it is the correct one for my control.
Also, I didn’t quite finish reconciling some discrepencies between the 2010 and 2007 documentation – for example, in 2007 the getImage is supposed to return an IPictureDisp – which is a real pain in the butt. My experience showed that returning a bitmap worked anyway, and now the 2010 documentation says getImage returns System.Drawing.Bitmap. I have switched to using Bitmap because it is so much cleaner, but I figured I should leave them both in there.
I am open to suggestions – just trying to fill what I consider a documentation gap.
Pingback: ãªãã³ã®ã³ã¼ã«ããã¯é¢æ°ã®æ§æé - Microsoft Officeã®ãªãã³ã®ã«ã¹ã¿ãã¤ãºæ å ±ãæºè¼ - åå¿è å
Thx a lot, really thx a lot. I needed four days to get this complete list of call back signatures.
If you every spend some time in Berlin, send me a mail. I will invite you for a dinner and some beer !!!
Couldn’t agree more! marvellous
Excellent. Thanks a lot.
Two corrections for C++ (does anybody still use this ?)
HRESULT GetPressed([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)
is wrong for rows 43 and 44
correct
HRESULT GetPressed([in] IRibbonControl *pControl, [out, retval] VARIANT_BOOL *pvarReturnedVal)