1

Office 2007 用のアドインがあります。これは、OnClick イベントのボタンとハンドラーを含むツールバーを追加します。ユーザーがボタンをクリックすると、いくつかのダイアログが表示されます。しかし、これらのダイアログは、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 の外観ではなく現在のテーマを使用するようにするには、何を変更すればよいですか? 隔離意識について読んだことがありますが、それもうまくいかなかったようです。

4

1 に答える 1

4

あなたが発見したように、マニフェストを追加することは戦いの半分にすぎません。また、コントロールが作成される前に、アドインが初期化されるときにInitCommonControlsEx関数を呼び出す必要があります。これは、使用する共通コントロールのウィンドウクラスを登録するために必要です。

また、ドキュメントに懐疑的である場合に備えて、MicrosoftのRaymond Chenは、この問題に正確に対処するために、しばらく前に彼のブログに記事を投稿しました。

その他の問題がある場合は、次の記事を確認してください:WindowsXPテーマをOfficeCOMアドインに適用する方法

于 2011-01-19T14:58:39.030 に答える