Affice Com Add-in, в диалогах нет темы Luna/Aero (они похожи на Windows 98 Classic Look)

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

Вопрос

У меня есть дополнение к Office 2007, которая добавляет панель инструментов с некоторыми кнопками и обработчиками для своих событий OnClick. Когда пользователь нажимает на кнопки, показывают некоторые диалоги. Но эти диалоги имеют датированные Windows 98, внешний вид с прямоугольными кнопками, даже в Windows 7.

Я знаю, что вам нужен манифестный файл, чтобы включить тематические тематические, но это добавление создано с помощью Visual Studio 2008, и он добавляет манифест автоматически, который выглядит так:

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

Что я должен изменить, чтобы мой диалог использовал текущую тему вместо вида Windows 98? Я читал об осознании изоляции, но это, похоже, тоже не сработало.

Это было полезно?

Решение

Как вы обнаружили, добавление манифеста - это только половина битвы. Вам также нужно позвонить InitCommonControlsEx функция Когда ваше дополнение инициализируется, прежде чем будут созданы какие-либо элементы управления. Это необходимо, чтобы зарегистрировать классы окна для общих элементов управления, которые вы используете.

И на случай, если вы скептически относитесь к документации, Microsoft Raymond Chen опубликовал Статья в своем блоге Некоторое время назад обращается именно к этой проблеме.

Если у вас есть другие проблемы, проверьте эту статью: Как применить темы Windows XP в Office Com Adn-INS

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top