Ufficio componente aggiuntivo COM, finestre di dialogo non hanno la luna / aero tema (sembrano Windows 98 look classico)

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

Domanda

Ho un componente aggiuntivo per Office 2007 che aggiunge una barra degli strumenti con alcuni pulsanti e gestori per i loro eventi OnClick. Quando l'utente fa clic sui pulsanti, alcune finestre di dialogo mostrano. Ma queste finestre di dialogo hanno l'aspetto di Windows 98 datato e tatto con tasti rettangolari, anche su Windows 7.

So che avete bisogno di un file manifesto per consentire tematizzazione, ma questo componente aggiuntivo è stato creato con Visual Studio 2008 e si aggiunge un manifesto automaticamente che assomiglia a questo:

<?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>

Che cosa devo cambiare per fare la mia finestra l'uso del tema attuale, invece di 98 aspetto di Windows? Ho letto di consapevolezza di isolamento, ma che non sembra funzionare sia.

È stato utile?

Soluzione

Come hai scoperto, aggiungendo il manifesto è solo metà della battaglia. È inoltre necessario chiamare il InitCommonControlsEx funzione quando vengono creati il ??componente aggiuntivo inizializza, prima di eventuali controlli. Ciò è necessario per registrare le classi di finestra per i controlli comuni che si utilizzano.

E solo nel caso in cui siete scettici della documentazione, Raymond Chen di Microsoft ha registrato un articolo sul suo blog un po 'indietro affrontare proprio questo problema.

Se avete altri problemi, controllare questo articolo: Come applicare temi di Windows XP a Office COM add- in

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top