واضح آرشیو وب فارسی:سایت ریسک: Iman System22-02-2009, 02:43 PMچطور ميتونم کنترلي رو طراحي کنم که اولا قسمت هاي بالا و چپ اون در فرم ثابت باشند و دوما قسمت هاي راست و پايين اون رو بشه تغيير داد( چيزي مثل صفحه نقاشي paint ) ؟ _H2_25-02-2009, 01:04 AMسلام شما میتوانید با کدهای ساده و ابتدایی کنترلرهای را در runtime تغییر سایز بدهید. مثلاً به کد زیر دقت کنید ... h02.ir/Download.aspx?File=MovableResizableSampleControl به راحتی میتوانید تغییر ابعاد در در هر جهت که مایل نبودید غیر فعال کنید. ولی اگر چیز کامل و پیشرفته تری میخواهید که بتواند تصاویر را در لایه های مختلف نگاه دارد و لایه ها مجزا قابل حرکت باشند و بتواند خروجی چاپی ارائه دهد و... باید ار دستورات مستقیم ترسیمی استفاده کنید و یا از کنترلرهای اماده ... Iman System28-02-2009, 12:53 AMc# رو چطور؟ _H2_01-03-2009, 10:30 AMسلام فرقی نداره...! همان کدها را میتوانید به #C تبدیل کنید و خیلی ساده استفاده کنید. developerfusion.com/tools/convert/vb-to-csharp ) البته همانطور که گفتم برای ساخت چیزی سبیه یک طراح با قابلیت لایه بندی و ویرایش گرافیکی شما نباید از کنترلرهای ویندوزی استفاده کنید. این اشتباه است. یعنی فقط باید یک کنترلر داشته باشید و بقیه لایه بندیها و کارها در سطح GDI و +GDI انجام دهید. ) Iman System01-03-2009, 02:40 PMسلام میشه در مورد gdi و +gdi بیشتر توضیح بدید؟ _H2_02-03-2009, 11:51 PMسلام GDI کتابخانه گرافیکی دو بعدی ویندوز است. DirectX کتابخانه گرافیکی سه بعدی ویندوز است. یعنی تمام ترسیماتی که شما در محیط ویندوز مایکروسافت مشاهده میکنید به نوعی به یکی از این دو ابزار برمیگردد. در GDI دستوراتی برای رسم خط و دایره و مستطیل و تصویر و متن و... وجود دارد. استفاده مستقیم از GDI میتواند ضمن افزایش سرعت، مصرف کمتر حافظه را هم در پی داشته باشد. (چون در واقع بقیه کارها هم در نهایت به GDI ختم میشود ولی با چندین واسطه گری !) اگر بخواهید شاید بتوانم تا آخر هفته، یک نمونه برنامه exe به شما نشان دهم که از همین GDI برای طراحی استفاده کرده و ... _H2_06-03-2009, 03:12 AMسلام اگر بخواهید شاید بتوانم تا آخر هفته، یک نمونه برنامه exe به شما نشان دهم که از همین GDI برای طراحی استفاده کرده و ... در شرکت تصمیم به ساخت یک برنامه خاص گرفته بودیم که نتیجه اش کدنویسی کنترلر زیر شد... ولی متاسفانه در مرحله آزمایش و تست بودم که، رئیسمان پشیمان شد و پروژه متوقف شد! کنترلر بیچاره من هم پا در هوا و نصفه و نیمه رها شد! نتیجه همین نصفه و نیمه در زیر قابل مشاهده است. برنامه که باز شود خودکار فایل file-save.hds را نمایش میدهد (کدش در همان اوایل قابل حذف است.) - میتوانید از جعبه ابزار لایه جدید گرفته و کشیده و روی صفحه طراحی رهایی کنید - میتوانید خروجی را save کنید و در دفعات بعدی open کنید. - میتوانید از خروجی پرینت بگیرید. - قابلیت zoom هم در برنامه وجود دارد - قابلبیت انتخاب چند لایه با Ctrl هم وجود دارد. - قابلیت ایجاد لایه نیمه شفاف هم بجز در تصاویر وجود دارد. - واحد اندازه گیری و کار برنامه قابل تغییر است و به حالت پیش فرض روی میلیمتر است که برای کاغذ و چاپ بسیار مناسب است. - فرمان حذف یک لایه را در راست کلیک قرار دادم و این فرمان و front و back در نوار ابزار برای اعمال شدنشان باید یک بار روی لایه ای دیگر کلیک کنید. (در واقع کد هسته مرکزی ناقص است و کار انجام میشود ولی تصویر refresh نمیشود) - میتوانید خروجی را به حالت یک تصویر فلت ثابت export کنید (هر فرمتی و dpi ای میشود ولی فعلاً فقد کدی برای png با 600dpi قرار دادم، بدیهی است به علت کیفیت بالا ذخیره سازی طول میکشد و فایل نهایی هم بسیار حجیم میشود ولی خیلی زیبا و با کیفیت است که اگر روی png نهایی در یک نرم افزار گرافیکی zoom کنید مشخص تر میشود.) http://h02.ir/Files/Temp/002-HNet.DesignerBox.gif به شخصه این کنترلر را خیلی دوست دارم ولی حیف که نشد کامل شود. ============== این کنترلر تماماً با دستورات مستقیم +GDI ، اما متاسفانه خیلی از دوستان ناآشنا برای کارهای مشابه به استفاده از طراحی بر اساس کنترلرهای ویندوزی روی می آوردند! یعنی یک Label و PictureBox واقعی را در runtime تولید میکنند. از جمله معایب این کار به عنوان مصرف گرافیکی... 1- سنگین و کند شدن برنامه و مصرف زیاد منابع سیستم. 2- عدم تطابق واحد پیکسل با واحدهای مرسوم انسانی 3- ناتوانی در سریالی خودکار باینری 4- مشکل در پیاده سازی قابلیت zoom (که فقط در wpf راه حل هایی دارد..) 5- مشکل پرینت و export عکس ... که یا مجبور میشود کدی مجزا در +GDI برای اینکار بنویسید و یا اینکه یک خروجی صددرصد بیکیفیت 72dpi یا 96dpi با عکس گرفتن از مانیتور به دست آورید که با استاندار چاپ 300dpi بسیار فاصله دارد. و... دانلود مستقیم: h02.ir/Download.aspx?File=HNet.DesignerBox.zip تاکید میکنم dll مربوط ناقص ااست و کدنویسی آن وسط کار متوقف شد و بخشهایی وجود دارد که کار نخواهد کرد و بخشهایی هم ... ولی حداقل خواهید دید که به راحتی و با فقط یک کنترلر تکی و به کمک دستورات +GDI هر کاری میتوانید انجام دهید. موفق باشید. _H2_06-03-2009, 05:15 PMسلام مجدد ضمناً یادآوری میکنم که پروژه نمونه همچنان با VS2008 نوشته شده ولی یک راست در VS2005 باز نخواهد شد. ولی نمونه exe برنامه کامپایل شده و آماده اجرا در پوشه bin برنامه موجود است که به راحتی قابل اجرا است. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 521]