واضح آرشیو وب فارسی:سایت ریسک: ایجاد برنامه های زیبا در Vb JS-mahdi 10 ارديبهشت 1387, 18:58سلام دوستان احساس کردم که جای یه تایپ که بشه توش در مورد برنامه نویسی نرم افزار های زیبا در محیط Vb بحث کرد کمه برا همین این تایپ رو با اجازه مدیر باز کردم , لطفا اگه کسی تکنیک های در این مورد بلده و یا تجربه خوبی در این زمینه داره خواهشا دریغ نکنه .. با تشکر JS-mahdi 10 ارديبهشت 1387, 19:01سوال من در این رابطه : » چه طوری میتونم برای برنامم یه تم طراحی کنم که که بشه اون رو عوض کرد و با عوض کردنش بردر استایل و دکمه ها و کلا کنترل ها به شکل تعریف شده اون ترم در بیان ! مثل برنامه یاهو مسنجر the_king 10 ارديبهشت 1387, 20:59اگه بخواهید یک طراحی اینترفیس حرفه ای بسازید که هم Skin پذیر باشه و هم با ظاهر استاندارد سیستم سازگار باشه استفاده از یکسری کنترل که خودتون طراحی اش کرده باشید بهترین راه حل ممکنه. در ابتدا اگه تجربه ساختن چنین کنترل هایی رو نداشته باشید، به نظر مشکل و دردسر سازه ولی وقتی چند نمونه از کنترلهای استانداردی مثل CommandButton و TextBox و ScrollBar رو ساختید، دیگه مشکل رو برای همیشه حل کرده اید. چون در اصل ساختن یک کنترل که Skin پذیر باشه کل ماجرایی است که باید بهش بپردازید. از اون به بعد فقط باید وقت بگذارید تا Skin جدید طراحی کنید. اگه از همون اول در طراحی تون، سایز و مشخصات Skin رو خیلی محدود نکرده باشید تنوع طراحی دل هر کاربری رو خواهد برد. من خودم بار ها و بارها چنین کاری رو انجام داده ام. مثلا اول یک کنترل (UserControl) برای ScrollBar عمودی می سازید. بعد تصویری رو برای نمایش ظاهری اون اختصاص می دهید. توی این تصویر تمامی حالتی که یک ScrollBar می تونه داشته باشه رو رسم می کنید مثلا وقتی دکمه بالایی فشرده شده و یا در حال جابجایی TrackBar اون هستید و ... بعد این تصویر رو به عنوان یک مشخصه (Property) تعریف می کنید تا بشه به راحتی عوضش کرد. اگه برای مدیریت Skin در فرمها یک کلکسیون از Skin رو تعریف کرده باشید دیگه نیازی نیست که دونه دونه Skin کنترلها رو عوض کنید. اینجوری مصرف حافظه سیستم هم خیلی کمتر میشه چون وقتی دو تا کنترل از Skin مشابه استفاده می کنند لزومی نداره که هر دو تا در داخل خودشون یک تصویر یکسان رو ذخیره کنند. فکر کنم به قدر کافی در مورد مباحث تئوری مقدمه چینی کرده ام. پس می روم سر چند تا نمونه از کارهایم. اول این برنامه تغییر رنگ Skin را که ضمیمه این پست کرده ام ببینید، داخلش نمونه ای از یک کنترل برایSlider افقی هم هست. the_king 10 ارديبهشت 1387, 21:10اگه اون برنامه تغییر رنگ Skin با این نمونه از Skin ها ترکیب بشه رنگ اونها را در یک لحظه عوض می کنه. () لطفا این فایل اجرایی که ضمیمه این پست کرده ام را ببینید. با ویژوال بیسیک و کنترلهای دست سازم ایجاد شده. فقط یکسری کنترل و ظاهر اینترفیس است، این برنامه هیچ کار خاصی انجام نمی ده. اصلا کد خاصی داخلش ننوشته ام که کاری انجام بده. the_king 10 ارديبهشت 1387, 21:19اینهم یک نمونه اجرایی واسه منو و کادر قسمت Non-Client دور پنجره : () البته طبق معمول کار خاصی انجام نمی ده (این برنامه از همون مجموعه کنترلهایی استفاده می کنه که در قبلی بود.) the_king 10 ارديبهشت 1387, 21:23اگه دنبال نمونه کد برنامه برای UserControl هایی باشید که Skin پذیر هستند، کافیه در برنامه هایی که در این فروم ارسال کرده ام جستجو کنید. نمونه کنترلهای Button و Browser و Slider و ProgressBar رو قبلا با کدشون ارسال کرده بودم. JS-mahdi 10 ارديبهشت 1387, 22:36مرسی خوب بود ! میخام این تایپ یه مرجع خوب بشه پس از حرفه ای ها در این زمینه خواهش میکنم اینجا بیان و تجربیاتشون رو بزارن JS-mahdi 11 ارديبهشت 1387, 01:07سمپل ها خوب بودن ولی چه جوری ایجاد شده ؟؟ اگه با سورس میزاشتی بهتر نبود عزیز the_king 17 ارديبهشت 1387, 23:47یک نمونه جدید از فرم با گوشه های گرد و ظاهر منحصر بفرد شبیه به فروم مجید آنلاین : () رجوع شود به گفتگوی : فرم با لبه های گرد در ویژوال بیسیک 6 () dk-arta 19 ارديبهشت 1387, 06:02حالا جدا از مسائل پوسته می تونید از همون روش آقای The_King استفاده کنید خودم برای چند تا از برنامه هام از همون روش استفاده کردم فقط باید کمی گرافیک یاد داشته باشی که این سایتم مشکل شما رو حل می کنه این تصویر برنامه منه که هنوز کامل نشده البته این روش مشکلاتی رو برای برنامه درست می کنه یکی از مشکلات بزرگ حذف شدن منویی هست هنگامی که بر روی آیکن برنامه در نوار وظیفه راست کلیک می کنی! mahdi-vb 20 ارديبهشت 1387, 05:57با چه برنامه های گرافیکی این کار رو کردید ؟؟ یه سوال دیگه من میتونم فورم برنامه رو به شکل استایل ویندوز XP در حالت سیلور در بیارم ( حتی زمانی که این تم برای ویندوز مشخص نشده باشه ) یا مثلا به شکل ویندوز مدیا سنتر ؟؟ چون طراحی کنترل های دیگر مثل Button نیست که خیلی ساده باشه ( کنترل های مثل : Listbox , Combobox & ... ) the_king 22 ارديبهشت 1387, 01:06این هم آخرین مدل دکمه، ظاهری همانند دکمه های آفیس 2007 توسط یک UserControl اختصاصی. () در پیاده سازی کد این دکمه از شیوه ترسیم Alpha Blend برای تغییر تدریجی ظاهر دکمه استفاده کردم. به همین دلیل همانند نسخه اصلی موجود در Office 2007، تصویر دکمه به آرامی تغییر می کند. خصوصیات ویژه این دکمه : سازگاری با ویندوز های XP به بعد (ویندوز های 98 همگی توابع API بکار رفته در کد برنامه را ندارند). قابلیت تغییر رنگ نوشتار با مشخصه ForeColor. افزودن متد Press برای فشردن ظاهری دکمه. رخدادهای MouseOver و MouseOut برای تشخیص Hover ماوس روی دکمه. پشتیبانی از متن های Unicode. تغییر موقعیت نوشتار توسط مشخصه Alignment. عدم نیاز به Office و هر گونه Theme یا Skin خارج از برنامه. کد کامل برنامه به همراه یک فرم نمونه ضمیمه این پست می باشد. dk-arta 27 ارديبهشت 1387, 04:55با چه برنامه های گرافیکی این کار رو کردید ؟؟ یه سوال دیگه من میتونم فورم برنامه رو به شکل استایل ویندوز XP در حالت سیلور در بیارم ( حتی زمانی که این تم برای ویندوز مشخص نشده باشه ) یا مثلا به شکل ویندوز مدیا سنتر ؟؟ چون طراحی کنترل های دیگر مثل Button نیست که خیلی ساده باشه ( کنترل های مثل : Listbox , Combobox & ... ) من فقط با فتوشاپ کار میکنم چیزی که شما خواستید رو قرار دادم و حتی بهترش نسخه حرفه ای CodejockSuiteProEval.ActiveX برای هر کاری انواع کنترلها انواع پوسته Office(2000,2003,2007) XP Xp 2005 Vista Mac
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 3101]