Office comアドイン、ダイアログにはluna/aeroのテーマがありません(Windows 98クラシックルックのように見えます)

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

質問

Office 2007の追加があり、オンクリックイベント用のボタンとハンドラーを備えたツールバーを追加します。ユーザーがボタンをクリックすると、一部のダイアログが表示されます。しかし、これらのダイアログには、Windows 7であっても、長方形のボタンを使用したWindows 98の外観と感触があります。

テーマを有効にするためにマニフェストファイルが必要であることはわかっていますが、この追加は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アドインに適用する方法

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top