I'm having an issue in VS2013-15 where my buttons' font colour is a shade of grey rather than black.
Here is what the buttons look like currently:
Some of the text seems to change to the desired colour when hovered over. However, some don't changed even when hovered:
Any help would be greatly appreciated. Thanks.
I managed to fix it using Barmak's answer. The Windows 7 theme is the problem.
To fix, you have 2 options.
Option 1
Change the theme your program uses
This is a lazy work around. Just switch your visual manager from
CMFCVisualManagerWindows7
to one of the other visual managers.Option 2
Override the
OnUpdateSystemColors()
functionFirst off you'll need a new class that inherits
CMFCVisualManagerWindows7
:Then you'll need to call
DECLARE_DYNCREATE
as the object is created dynamically at runtime.Next, you'll need to implement the class.
After that, you need to call
IMPLEMENT_DYNCREATE
separate to your class implementation, in global scope.Finally, we need to change our usage of
CMFCVisualManagerWindows7
to that of our new class: