Search code examples
c++capiwinapivisual-styles

How to change the control themes in a Win32 API application?


If I create a button in the Win32 API, the default conrol theme looks like a Windows 95/98 button. I remember in the past the Microsoft forums told me how to get the XP style, but I don't recall how to do this. Is there a way to programatically or manually change the control themes in a Win32 application? Thanks.


Solution

  • You want to Enable Visual Styles by adding a manifest dependency to the common control 6 assembly to your applications manifest.

    If you use DevStudio it should be as simple as adding the #pragma directive from the linked page:

    #pragma comment(linker,"\"/manifestdependency:type='win32'        
                    name='Microsoft.Windows.Common-Controls'
                    version='6.0.0.0' processorArchitecture='*'
                    publicKeyToken='6595b64144ccf1df' language='*'\"")