BCGControlBar Pro for MFC
void CBCGPRibbonButton::SetMenu ( UINT  uiMenuResID,
BOOL  bIsDefaultCommand = FALSE,
BOOL  bRightAlign = FALSE 

Assigns a popup menu to ribbon button.

Use this method to assign a popup menu to ribbon button. When the menu has been assigned the button displays an arrow at the right side. If bIsDefaultCommand is TRUE, the menu appears only when user clicks the arrow. If user clicks the button its default command is executed.

If bIsDefaultCommand is FALSE, the menu appears always, disregard where the button was clicked.

uiMenuResIDMenu resource ID.
bIsDefaultCommandSpecifies whether the button can still execute its command (TRUE), or always displays popup menu (FALSE).
bRightAlignIf TRUE, the menu is right aligned.