PDA

View Full Version : کاربرد XPManifest



Delphi7_love
سه شنبه 02 شهریور 1389, 16:44 عصر
با سلام خدمت دوستان
همینطور که از عنوان مشخصه میخواستم ببینم کاربرد XPManifest چیه ؟
با تشکر

حمید محمودی
سه شنبه 02 شهریور 1389, 17:01 عصر
در دلفی 7 وقتی این کامپوننت رو به پروژه اضافه کنید میاد یک منیفست ( طبق فرمت XML ) در ریسورس پروژتون قرار میده که شکل کنترل های پروژه تون مثل تم ویندوز خواهد شد.
در دلفی 2010 خودکار وقتی پروژه ای رو ایجاد میکنید همون اول اینکار توسط IDE انجام میشه. ونیازی به این کار ندارید.
اگر پروژه ای مال دلفی 7 دارید که وقتی با دلفی 2010 بازش کردید و مشاهده کردید که کنترل ها مثل تم ویندوز نشده اند هم میتونید با اضافه کردن این کنترل اینکار رو انجام بدید و هم با نرم افزار های ریسور ادیتور. یعنی بیاید فایل ریسورس پروژه تون (که همنام پروژه تون هست و البته با پسوند RES ) با اون نرم افزار باز کرده و ... )


حتی در این قسمت منیفست میتونید برای ویندوز هایی نظیر سون کارهایی مثل دسترسی ادمین رو هم برای فایل مورد نظر انجام بدید البته اینکارو باید دستی انجام بدید.

Mahmood_M
سه شنبه 02 شهریور 1389, 17:34 عصر
ویندوز XP ابزاری به عنوان Theme Manager داره که وظیفش مشخص کردن ویژگی های ظاهری کنترلهای درون برنامه هاست ، Theme Manager ویندوز برای اینکه بدونه برنامه ای که داره اجرا میشه رو باید با چه Theme ای نمایش بده ، باید اطلاعات اون رو از برنامه دریافت کنه ، درواقع Theme Manager ویندوز برای نمایش ابزارهای درون برنامه از کتابخانه ی ComCtl32.dll استفاده میکنه ، هر برنامه ای که اجرا میشه باید به ویندوز اعلام کنه که از چه نسخه ای از این کتابخانه استفاده کرده تا با توجه به همون نسخه ظاهر ابزارهای برنامه توسط ویندوز ساخته و نمایش داده بشه ...
XPManifest فقط کارش اینه که یک فایل Resource رو به برنامه اضافه می کنه ، فایل رسورس اضافه شده حاوی یک فایل XML هست که اطلاعات مربوط به نسخه ی ComCtl32.dll درونش قرار داده شده ، وقتی ویندوز برنامه شما رو لود میکنه فایل XML ای که به عنوان رسورس در برنامه قرار داده شده هم لود میشه و ویندوز رو از نسخه ی کتابخانه ی ComCtl32 با خبر میکنه ...
می تونید به جای قرار دادن XPManifest بر روی فرم ، یونیت XPMan رو به قسمت Uses اضافه کنید ، در هر صورت تنها یک فایل Resource به نام WindowsXP.res به برنامه ی شما اضافه می شه که شامل فایل XML ای به نام WindowsXP.Manifest هست و این فایل هم شامل اطلاعات مربوط به کتابخانه ی ComCtl32 میشه ...

نکته ی آخر اینکه به طور پیشفرض برنامه هایی که در ویندوز XP اجرا میشن از نسخه ی 5 این کتابخانه استفاده میکنند که ظاهری شبیه به Windows 98 رو به برنامه ها میده ، مگر اینکه توسط یک Manifest به ویندوز اطلاع بدن که نسخه ی جدید یعنی 6 رو برای اونها درنظر بگیره ...

موفق باشید ...