2011-09-23 10 views
10

テーマスタイルを使用するかどうかをユーザーに選択させようとしています。 XPManifestを動的に「ロード」することは可能ですか?実行時に条件付きでXPManifestを使用できますか?

テーマスタイルを受け入れる場合はマニフェストを使用し、そうでない場合はクラシックテーマを使用します。スタイルの選択のダイアログ後のプログラム起動時 は、私のような何かをしたいと思いクローズ:

if UserWantsThemedStyle then 
    LoadManifestSomehow 
else 
    UseClassicStyle; 

を実行時にそれを行うことも可能ですか?

ありがとうございました

+1

この質問を確認するhttp://stackoverflow.com/questions/4393723/how-to-switch-an-application-between-themed-and-not-themed-at-run-time – RRUZ

答えて

12

はい、これは可能です。実行時に異なるマニフェストをアクティブにできるactivation context APIを使用する必要があります。私はそれを使ってExcelアドインでテーマを有効にしています。

+0

ありがとうございます。私が探しているもののように見えます。私は[あなたの答え](http://stackoverflow.com/questions/5132679/apply-windows-theme-to-office-com-add-in/5133222#5133222)が見つかりましたが、私はそれを使用する方法を取得しません。私はDelphi 2009を使用しているので、コンパイルするためにコードを少し修正しなければなりません。私はそれを私の質問に貼り付けます。 – TLama

+0

その質問のコードはD6でうまくいきます。私はそれを書いたときにD6を使用していました。マニフェストをローダがピックアップして適用しないように、exeではなく別のDLLに配置する必要があるかもしれません。 –

+0

ええ、私は今それを見る。それが私の問題です。だから、私はそれをdllに入れて、このDLLをロードすれば、それはうまくいくのですか? – TLama

関連する問題