COM Office dans, les dialogues ne sont pas luna / aéro thème (ils ressemblent à Windows 98 look classique)

StackOverflow https://stackoverflow.com/questions/4736613

Question

J'ai un Addin pour Office 2007 qui ajoute une barre d'outils avec des boutons et des gestionnaires pour leurs événements OnClick. Lorsque l'utilisateur clique sur les boutons, certains dialogues montrent. Mais ces dialogues ont la date regard Windows 98 et la sensation avec des boutons rectangulaires, même sous Windows 7.

Je sais que vous avez besoin d'un fichier manifeste pour permettre thématisation, mais ce Addin est créé avec Visual Studio 2008 et il ajoute un manifeste automatiquement qui ressemble à ceci:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>

Que dois-je changer pour faire mon dialogue, utilisez le thème actuel au lieu de regarder Windows 98? Je l'ai lu sur la conscience de l'isolement, mais cela ne semble pas fonctionner non plus.

Était-ce utile?

La solution

Comme vous l'avez découvert, en ajoutant le manifeste est que la moitié de la bataille. Vous devez également appeler le InitCommonControlsEx fonction lorsque votre complément Initialise, avant que les contrôles sont créés. Cela est nécessaire pour enregistrer les classes de fenêtre pour les contrôles courants que vous utilisez.

Et juste au cas où vous êtes sceptique de la documentation, Raymond Chen de Microsoft a affiché un article sur son blog un certain temps aborder précisément cette question.

Si vous avez d'autres questions, consultez cet article: Comment appliquer les thèmes Windows XP au bureau COM Add- ins

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top