How to enable visual styles without a manifest
c++, comctl32, visual-styles, winapi
Solution
If you're using Visual Studio, you can add this line to your stdafx.cpp for example:
#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
Problem
According to the docs: "If you want your application to use ComCtl32.dll version 6, you must add an application manifest or compiler directive to specify that version 6 should be used if it is available." Notice the logical OR above? So what is this mysterious compiler directive? I've got a native Win32 C++ application that is wholly contained in a single .cpp file. There are no resource files, manifest files, etc. I'd like to keep it that way, but I would also like to use visual styles.