When the l2010 flag is set, aGradFld is used to paint the folder tabs when the mouse moves over them. And for all other flags, aGradOver is used. Here is the code from the PaintFld() method:
- Code: Select all Expand view RUN
- if ::l2010 .or. nPrompt == ::nStart
GradientFill( hDCMem, nRow + 1, nCol, nRow + ::nHeightFld + 1, nCol + ::aSizes[ nPrompt ], aGradFld )
else
GradientFill( hDCMem, nRow + 1, nCol, nRow + ::nHeightFld + 1, nCol + ::aSizes[ nPrompt ], ::aGradOver )
endif
We can fix the color issue by overriding the PaintFld() method and using ::aGradOver even when l2010 is set. This would only be used when configuring the ribbonbar to look like Office 2016. To reiterate, we need to use the l2010 flag to get groups looking close to those in Office. Otherwise, we would have to make lots of overrides to the group class which would be much more work.