Fais gaffe, j'ai lu sur un blog Microsoft que ça ne marche bien que si tu compiles ton projet en Unicode.
Et alors, je pense que le plus simple est d'ajouter les #pragma comment qui vont bien
et d'utiliser InitCommonControlsEx().
Voici le code fourni par Microsoft:
Code:
1 2 3 4 5 6 7 8 9 10 11
| #ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif |
PS: Un truc bien pour voir si c'est à cause du manque de paramètres de InitCommonControlsEx() que quelque chose échoue, c'est d'ajouter le style DS_NOFAILCREATE à ta boîte de dialogue: Les contrôles "manquants" d'indiqueront ce qui manque à la fonction...