2011-09-23 49 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時使用了D6。您可能需要將清單放入單獨的DLL而不是您的exe文件中,以避免它被拾取器和加載器應用。 –

+0

是的,我現在看到它。所以這是我的問題。所以如果我把它放入一個DLL並加載這個DLL然後我得到它的工作? – TLama

相關問題