ایجاد برنامه های زیبا در Vb

JS-mahdi

Banned
سلام دوستان احساس کردم که جای یه تایپ که بشه توش در مورد برنامه نویسی نرم افزار های زیبا در محیط Vb
بحث کرد کمه برا همین این تایپ رو با اجازه مدیر باز کردم , لطفا اگه کسی تکنیک های در این مورد بلده و یا تجربه
خوبی در این زمینه داره خواهشا دریغ نکنه ..

با تشکر
 

JS-mahdi

Banned
سوال من در این رابطه :

» چه طوری میتونم برای برنامم یه تم طراحی کنم که که بشه اون رو عوض کرد و با عوض کردنش بردر استایل و دکمه ها و کلا کنترل ها به شکل تعریف شده اون ترم در بیان ! مثل برنامه یاهو مسنجر
 

the_king

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

در ابتدا اگه تجربه ساختن چنین کنترل هایی رو نداشته باشید، به نظر مشکل و دردسر سازه ولی وقتی چند نمونه
از کنترلهای استانداردی مثل CommandButton و TextBox و ScrollBar رو ساختید، دیگه مشکل رو برای همیشه حل کرده اید.
چون در اصل ساختن یک کنترل که Skin پذیر باشه کل ماجرایی است که باید بهش بپردازید.
از اون به بعد فقط باید وقت بگذارید تا Skin جدید طراحی کنید. اگه از همون اول در طراحی تون، سایز و مشخصات Skin رو خیلی
محدود نکرده باشید تنوع طراحی دل هر کاربری رو خواهد برد.

من خودم بار ها و بارها چنین کاری رو انجام داده ام. مثلا اول یک کنترل (UserControl) برای ScrollBar عمودی می سازید.
بعد تصویری رو برای نمایش ظاهری اون اختصاص می دهید. توی این تصویر تمامی حالتی که یک ScrollBar می تونه داشته باشه
رو رسم می کنید مثلا وقتی دکمه بالایی فشرده شده و یا در حال جابجایی TrackBar اون هستید و ...
بعد این تصویر رو به عنوان یک مشخصه (Property) تعریف می کنید تا بشه به راحتی عوضش کرد.
اگه برای مدیریت Skin در فرمها یک کلکسیون از Skin رو تعریف کرده باشید دیگه نیازی نیست که دونه دونه Skin کنترلها رو
عوض کنید. اینجوری مصرف حافظه سیستم هم خیلی کمتر میشه چون وقتی دو تا کنترل از Skin مشابه استفاده می کنند
لزومی نداره که هر دو تا در داخل خودشون یک تصویر یکسان رو ذخیره کنند.

فکر کنم به قدر کافی در مورد مباحث تئوری مقدمه چینی کرده ام.
پس می روم سر چند تا نمونه از کارهایم.

اول این برنامه تغییر رنگ Skin را که ضمیمه این پست کرده ام ببینید، داخلش نمونه ای از یک کنترل برایSlider افقی
هم هست.
 

پیوست ها

  • Skin Colorize.zip
    171.7 کیلوبایت · بازدیدها: 234

the_king

مدیرکل انجمن
اگه اون برنامه تغییر رنگ Skin با این نمونه از Skin ها ترکیب بشه رنگ اونها را در یک لحظه عوض می کنه.



لطفا این فایل اجرایی که ضمیمه این پست کرده ام را ببینید. با ویژوال بیسیک و کنترلهای دست سازم ایجاد شده.
فقط یکسری کنترل و ظاهر اینترفیس است، این برنامه هیچ کار خاصی انجام نمی ده. اصلا کد خاصی داخلش ننوشته ام
که کاری انجام بده.
 

پیوست ها

  • Sample.zip
    104.6 کیلوبایت · بازدیدها: 157

the_king

مدیرکل انجمن
اینهم یک نمونه اجرایی واسه منو و کادر قسمت Non-Client دور پنجره :



البته طبق معمول کار خاصی انجام نمی ده (این برنامه از همون مجموعه کنترلهایی استفاده می کنه که در قبلی بود.)
 

پیوست ها

  • Sample2.zip
    98.6 کیلوبایت · بازدیدها: 152
آخرین ویرایش توسط مدیر:

the_king

مدیرکل انجمن
اگه دنبال نمونه کد برنامه برای UserControl هایی باشید که Skin پذیر هستند، کافیه در برنامه هایی که در این فروم
ارسال کرده ام جستجو کنید.
نمونه کنترلهای Button و Browser و Slider و ProgressBar رو قبلا با کدشون ارسال کرده بودم.
 

JS-mahdi

Banned
مرسی خوب بود !

میخام این تایپ یه مرجع خوب بشه پس از حرفه ای ها در این زمینه خواهش میکنم اینجا بیان و تجربیاتشون رو بزارن
 

JS-mahdi

Banned
سمپل ها خوب بودن ولی چه جوری ایجاد شده ؟؟ اگه با سورس میزاشتی بهتر نبود عزیز
 

dk-arta

Member
حالا جدا از مسائل پوسته می تونید از همون روش آقای The_King استفاده کنید
خودم برای چند تا از برنامه هام از همون روش استفاده کردم
فقط باید کمی گرافیک یاد داشته باشی که این سایتم مشکل شما رو حل می کنه

این تصویر برنامه منه که هنوز کامل نشده


Remos.JPG


البته این روش مشکلاتی رو برای برنامه درست می کنه یکی از مشکلات بزرگ حذف شدن منویی هست هنگامی که بر روی آیکن برنامه در نوار وظیفه راست کلیک می کنی!
 

mahdi-vb

Member
با چه برنامه های گرافیکی این کار رو کردید ؟؟

یه سوال دیگه من میتونم فورم برنامه رو به شکل استایل ویندوز XP در حالت سیلور در بیارم ( حتی زمانی که این تم برای ویندوز
مشخص نشده باشه ) یا مثلا به شکل ویندوز مدیا سنتر ؟؟
چون طراحی کنترل های دیگر مثل Button نیست که خیلی ساده باشه ( کنترل های مثل : Listbox , Combobox & ... )
 

the_king

مدیرکل انجمن
این هم آخرین مدل دکمه، ظاهری همانند دکمه های آفیس 2007 توسط یک UserControl اختصاصی.



در پیاده سازی کد این دکمه از شیوه ترسیم Alpha Blend برای تغییر تدریجی ظاهر دکمه استفاده کردم.
به همین دلیل همانند نسخه اصلی موجود در Office 2007، تصویر دکمه به آرامی تغییر می کند.

خصوصیات ویژه این دکمه :
سازگاری با ویندوز های XP به بعد (ویندوز های 98 همگی توابع API بکار رفته در کد برنامه را ندارند).
قابلیت تغییر رنگ نوشتار با مشخصه ForeColor.
افزودن متد Press برای فشردن ظاهری دکمه.
رخدادهای MouseOver و MouseOut برای تشخیص Hover ماوس روی دکمه.
پشتیبانی از متن های Unicode.
تغییر موقعیت نوشتار توسط مشخصه Alignment.
عدم نیاز به Office و هر گونه Theme یا Skin خارج از برنامه.

کد کامل برنامه به همراه یک فرم نمونه ضمیمه این پست می باشد.
 

پیوست ها

  • Cmd Office 2007.zip
    35.6 کیلوبایت · بازدیدها: 132

dk-arta

Member
با چه برنامه های گرافیکی این کار رو کردید ؟؟

یه سوال دیگه من میتونم فورم برنامه رو به شکل استایل ویندوز XP در حالت سیلور در بیارم ( حتی زمانی که این تم برای ویندوز
مشخص نشده باشه ) یا مثلا به شکل ویندوز مدیا سنتر ؟؟
چون طراحی کنترل های دیگر مثل Button نیست که خیلی ساده باشه ( کنترل های مثل : Listbox , Combobox & ... )


من فقط با فتوشاپ کار میکنم

چیزی که شما خواستید رو قرار دادم و حتی بهترش
http://forum.majidonline.com/showthread.php?p=663532
نسخه حرفه ای CodejockSuiteProEval.ActiveX برای هر کاری
انواع کنترلها
انواع پوسته
Office(2000,2003,2007)
XP
Xp 2005
Vista
Mac
 

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

بالا