چگونگی ساخت skin در ویژال بیسیک6

amirxbest

Member
سلام خدمت تمامی دوستان و اساتید.
یه سورس دیدم که با کامپوننت skin چندتا پوسته یا skin رو برنامه اعمال کرده بود.پوسته های آماده موجودن ولی میخواستم ببینم چجور میشه اینا رو خودمون بسازیم؟؟؟
اینم عکس ظاهر برنامه با skin پیشفرض:
enzkrbvvao0nvrhlrx5d.jpg
 

the_king

مدیرکل انجمن
سلام خدمت تمامی دوستان و اساتید.
یه سورس دیدم که با کامپوننت skin چندتا پوسته یا skin رو برنامه اعمال کرده بود.پوسته های آماده موجودن ولی میخواستم ببینم چجور میشه اینا رو خودمون بسازیم؟؟؟
اینم عکس ظاهر برنامه با skin پیشفرض:
enzkrbvvao0nvrhlrx5d.jpg

چند روش وجود داره، یا از کنترل های استاندارد استفاده می کنند و موقع Paint شدن کنترل ها رخداد اش رو بجای
رخداد ترسیم استاندارد با یک روتین سفارشی که از تصویر Skin استفاده می کنه تعویض می کنند یا از ابتدا
کنترل های جدیدی می سازند که ذاتا Skin پذیره و یا از سیستم UxTheme خود ویندوز استفاده می کنند (مناسب
ویندوز های XP به بعد).

هر کدوم معایب و مزایای خاص خودش رو داره. اگر بخواهید روال Paint کنترل های استاندارد رو عوض کنید
می توانید ظاهر هر کنترل ای که خودتان ننوشته اید را عوض کنید اما ممکنه بعضی از کنترل ها ظاهر خوبی پیدا نکنند و
در ضمن ویژوال بیسیک برای ترسیم فرم های شلوغ زیادی کنده.

اگر کنترل های سفارشی که خودتان ساخته اید استفاده کنید ظاهر کنترل ها همانطور خواهند بود که شما می خواهید
اما هم حجم کد نویسی زیاد می شود و هم باید انواع کنترل های مختلف را خودتان بسازید.

اگر هم از UxTheme استفاده کنید اول باید UxTheme ویندوز Patch شود تا Theme های متفرقه را قبول کند و
در ضمن ظاهر همه کنترل ها عوض نمی شود چون بعضی کنترل ها هیچوقت از UxTheme استفاده نمی کنند.

رجوع شود به :
ایجاد برنامه های زیبا در Vb

3 بار پسورد اشتباه در vb

ابزار مدت زمان روشن بودن کامپیوتر (Visual Basic)

فرم با گوشه های گرد در Vb6
 

margeGole

New Member
زیبا سازی در محیط vba

سلام برادر

حالا اگه ما بخوایم محیط نرم افزارای تحت VBA رو زیبا کنیم باید چه کنیم ، همونطور که میدونی VBA از User Control پشتیبانی نمی کنه .مثلا من دارم واسه نرم افزار ArcGis برنامه می نویسم. ممنون میشم اگه راهنمایی کنی.
 

the_king

مدیرکل انجمن
سلام برادر

حالا اگه ما بخوایم محیط نرم افزارای تحت VBA رو زیبا کنیم باید چه کنیم ، همونطور که میدونی VBA از User Control پشتیبانی نمی کنه .مثلا من دارم واسه نرم افزار ArcGis برنامه می نویسم. ممنون میشم اگه راهنمایی کنی.

VBA از UserControl ها پشتیبانی نمی کنه اما از ActiveX Control هایی که با ویژوال بیسیک می نویسید
پشتیبانی می کنه. در ویژوال بیسیک 6 یک پروژه ActiveX Control بسازید و User Control های مورد نظرتون را داخلش
ایجاد کنید.

بعد از کامپایل کردن و ساختن فایل ocx داخل محیط VBA ترکیب کلیدی Ctrl + T را فشار داده و اسم ocx تان را تیک بزنید.
بعد روی Toolbox کنترل های VBA راست کلیک کرده و گزینه Additional Controls را انتخاب کنید. تیک کنترل های ocx ای
که ساخته اید بزنید تا در Toolbox ظاهر شوند. حالا می توانید روی فرم قرارشان داده و ازشان استفاده کنید.
 

margeGole

New Member
VBA از UserControl ها پشتیبانی نمی کنه اما از ActiveX Control هایی که با ویژوال بیسیک می نویسید
پشتیبانی می کنه. در ویژوال بیسیک 6 یک پروژه ActiveX Control بسازید و User Control های مورد نظرتون را داخلش
ایجاد کنید.

بعد از کامپایل کردن و ساختن فایل ocx داخل محیط VBA ترکیب کلیدی Ctrl + T را فشار داده و اسم ocx تان را تیک بزنید.
بعد روی Toolbox کنترل های VBA راست کلیک کرده و گزینه Additional Controls را انتخاب کنید. تیک کنترل های ocx ای
که ساخته اید بزنید تا در Toolbox ظاهر شوند. حالا می توانید روی فرم قرارشان داده و ازشان استفاده کنید.

ممنون علی سعید جان ؛

یعنی جز استفاده از Activex راه دیگه ای برای این کار وجود نداره ، چون فکر نمی کنم صورت خوشی داشته باشه که بخوایم برای یه برنامه ی تحت VBA از کامپوننت خاصی استفاده بشه.
در هر صورت ممنون
 

جدیدترین ارسال ها

بالا