How to change the control themes in a Win32 API ap

2019-04-12 06:37发布

问题:

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.

回答1:

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='*'\"")


回答2:

SetWindowTheme Function would appear to be the solution. HTH