زبان برنامه نویسی VB زبانی است که تقریبا شی گراست و از کنترلهای ذاتی ویندوز استفاده میکند که در کتابخانه Comctl32 موجود میباشد اما ویژوال بیسیک بطور پیش فرض آنها را درخود دارد. خوب بریم سر مطلب خودمون. آیا تا بحال به شکل ظاهری کنترلها در ویندوز XP توجه کردهاید؟ در این مقاله میخواهیم به شما یاد دهیم که چگونه میتوانید ظاهر قدیمی کنترلهای یک برنامه را به ظاهر XP آن تبدیل کنید.
شما میتوانید برنامههایی را که بصورت exe هستند و با یکی از زبانهای C و یا Java نوشته شده اند را به صورت ظاهر XP در بیاورید. برای اینکار متن زیر را در Notepad کپی کرده و بصورت زیر ذخیره نمایید.
YourExeFileName.manifest
توجه داشته باشید که عبارت manifest پسوند فایل بوده و عبارت YourExeFileName نام فایل exe شما به همراه پسوند exe است. بطور مثال پس از اینکه متن زیر را در Notepad کپی کردید باید فایلی به اسم vb6.exe.manifest ذخیره کنید و حتما در دایرکتوری فایل اجرایی vb6 کپی کرده تا ظاهر ویژوال بیسیک به صورتXP در بیاید. خوب فعلا این متن رو در Notepad کپی کنید.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0"
>
<assemblyIdentity
type="win32"
processorArchitecture="*"
version="6.0.0.0"
name="mash"
/>
<deion>Enter your Deion Here</deion>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
language="*"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
/>
</dependentAssembly>
</dependency>
</assembly>
خوب حالا باید این فایل رو به همان صورتی که گفته شد در دایرکتوری فایل exe ذخیره کنید. در ضمن به همان صورتی که گفته شد میتوانید خود ویژوال بیسیک را نیز به صورت ظاهر XP در بیاورید. فقط دو نکته زیر را فراموش نکنید.
?.فایل شما باید به صورت YourExeFileName.exe.manifest ذخیره شود.
?.فایل شما باید در دایرکتوری فایل اجرایی ذخیره شود.
خوب بریم سراغ ویژوال بیسیک خودمان. اگر این روش را برای فایلهای اجرایی که با ویژوال بیسیک نوشته شده اند را پیاده کنید برنامه شما هرگز اجرا نمیشود. برای تبدیل کردن ظاهر معمولی برنامههای ویژوال بیسیک به ظاهر XP آن باید در کدنویسی برنامه کمی تغییر ایجاد کنید.
ابتدا تابع زیر را در ویژوال بیسیک تعریف کنید
Declare Function InitCommonControls Lib "comctl32.dll" () As Long
سپس این تابع را در رویداد Initialize فرم خود فراخوانی کنید.
بعد از کامپایل کردن برنامه خود بصورت exe به همان روشی که گفته شد یک فایل manifest برای فایل اجرایی خود درست کنید. علت آن که برنامههایی که با یک از زبانهای سی یا جاوا نوشته شدهاند با یک فایل manifest تبدیل میشود آن است که این برنامه بطور خودکار تابع گفته شده را اجرا میکنند که این مسئله به نوع زبان کامپایل کننده آنها بر میگردد.
شما میتوانید متن مورد نیاز برای فایلmanifest را در Resource برنامه قرار دهید تا دیگر به فایل manifest نیاز نباشد. برای اینکار برنامه XP Style را دانلود کنید. این برنامه براحتی فایلهای اجرایی را به ظاهر XP تبدیل میکند. البته فراموش نکنید که برای برنامههای که در محیط ویژوال بیسیک نوشته میشوند همچنان به فراخوانی تابع گفته شده در کدنویسی برنامه احتیاج دارید.
نکته دیگر اینکه با این روش کنترل برنامههای شما فقط در خود ویندوز XP بصورت ظاهر XP نمایان خواهد شد