[quote user="Bruce Reeves SRNS"]DGNPLATFORM_TYPEDEFS (DgnButtonEvent)[/quote]
Doesn't Viz Studio IntelliSense tell you what the typedef is if you hover your cursor over it?
Otherwise, look in SDK\include\DgnPlatform\DgnPlatform.h. DGNPLATFORM_TYPEDEFS(name) is a macro that invokes another macro DGNPLATFORM_TYPEDEFS_EX(name, struct).
#define DGNPLATFORM_TYPEDEFS_EX(_name_,_structunion_) \ BEGIN_BENTLEY_DGNPLATFORM_NAMESPACE _structunion_ _name_; END_BENTLEY_DGNPLATFORM_NAMESPACE \ ADD_BENTLEY_TYPEDEFS1(DgnPlatform,_name_,_name_,_structunion_)
The second line adds a namespace to the type. The third line invokes macro ADD_BENTLEY_TYPEDEFS1 from SDK\include\Bentley\Bentley.h. Its purpose is to suffix a generated type name with a letter that indicates whether it's a reference or pointer and const or non-const. You end up with typedefs named DgnButtonEventP, DgnButtonEventCP, DgnButtonEventR and DgnButtonEventCR.
I can see where it's used in the header files in numerous places, but like you I don't see in any header (*.h or *.fdf) where that class is defined.
[Edit] Oops! My mistake.