2011-09-23 7 views
10

Tôi đang cố gắng để người dùng chọn nếu anh ấy muốn sử dụng kiểu theo chủ đề hay không. Có thể tự động tải "XPManifest" không?Có thể sử dụng XPManifest theo điều kiện khi chạy không?

Nếu người dùng chấp nhận kiểu theo chủ đề, hãy sử dụng tệp kê khai, nếu không hãy sử dụng chủ đề cổ điển. Lúc khởi động chương trình sau khi hộp thoại với lựa chọn phong cách đóng vai trò quant Tôi muốn làm điều gì đó như:

if UserWantsThemedStyle then 
    LoadManifestSomehow 
else 
    UseClassicStyle; 

Là nó thậm chí có thể làm điều đó trong thời gian chạy?

Cảm ơn

+1

Kiểm tra câu hỏi này http://stackoverflow.com/questions/4393723/how-to-switch-an-application-between-themed-and-not-themed-at-run-time – RRUZ

Trả lời

12

Có, bạn có thể thực hiện việc này. Bạn cần sử dụng activation context API cho phép bạn kích hoạt các tệp kê khai khác nhau khi chạy. Tôi đã sử dụng nó để cho phép các chủ đề trong một bổ trợ Excel.

+0

cảm ơn. Có vẻ như những gì tôi đang tìm kiếm. Tôi tìm thấy [câu trả lời của bạn] (http://stackoverflow.com/questions/5132679/apply-windows-theme-to-office-com-add-in/5133222#5133222) nhưng tôi không biết cách sử dụng nó. Tôi đang sử dụng Delphi 2009, vì vậy tôi phải sửa đổi mã của bạn một chút để biên dịch. Tôi sẽ dán nó vào câu hỏi của tôi. – TLama

+0

Mã trong câu hỏi đó là tốt trong D6 tôi nghĩ. Tôi đã sử dụng D6 khi tôi viết nó. Bạn có thể cần phải đặt tệp kê khai vào một tệp DLL riêng biệt thay vì exe của bạn để tránh nó được chọn và được áp dụng bởi bộ nạp. –

+0

vâng tôi nhìn thấy nó ngay bây giờ. Vì vậy, đó là vấn đề của tôi. Vì vậy, nếu tôi đặt nó vào một dll và tải dll này sau đó tôi nhận được nó để làm việc? – TLama