Comment faire pour activer les styles visuels sans un manifeste
Selon la docs:
"Si vous voulez que votre demande d'utilisation ComCtl32.dll la version 6, vous devez ajouter un manifeste de l'application ou directive du compilateur de préciser que la version 6 doit être utilisé s'il est disponible."
Avis de la logique OU au-dessus? Quel est donc ce mystérieux directive du compilateur?
J'ai un natif Win32 application C++ qui est entièrement contenue dans une seule .fichier cpp. Il n'y a pas de fichiers de ressources, fichiers manifest, etc. Je tiens à garder de cette façon, mais je tiens également à utiliser des styles visuels.
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à l'aide de Visual Studio, vous pouvez ajouter cette ligne à votre stdafx.cpp par exemple:
Il y a en fait une troisième voie avec ne se manifeste que ce soit, mais c'est plutôt hacky:
HANDLE
retourné parCreateActCtx()
, qui renvoieINVALID_HANDLE_VALUE
en cas d'échec. SiCreateActCtx()
échoue, utilisezGetLastError()
pour savoir pourquoi (peut-être l'ID de la ressource changé dans Win10? Ce code fonctionne dans Win7). Aussi, siCreateActCtx()
réussit, ce code fuites leHANDLE
. Vous devez appelerReleaseActCtx()
lorsque vous avez terminé d'utiliser le contexte d'activation, mais ce code ne suffit pas à sauver leHANDLE
n'importe où.Si tu l'avais gardé de la lecture, vous auriez trouvé la réponse: