PDA

View Full Version : چند سوال در مورد MFC همراه ویژوال استدیو 2008



pswin.pooya
دوشنبه 04 آبان 1388, 21:23 عصر
سلام دوستان

من قبلا با MFC ویژوال استادیو شیش کار می کردم. حالا برای طراحی یه پروژه سر دو راهی قرار گرفتم. به خاطر همین هم چند تا سوال از شما دوستان عزیز دارم:

1. MFC همراه ویژال استادیو 2008 به دات نت وابسته هستش یا نه ؟
2. به نظر شما MFC بهتره یا wxWidgets ( برای ساخت یه ادیتور برای یه انجین - کراس پلتفرم بودن مهم نیست، بلکه تنها ساخت بهتر،سریعتر و بدون درد سرتر مهم هستش)؟
3. MFC کنترلهایی برای high-light خودکار متن به منظور ادیت سینتکس داره؟
4. اگر ممکنه چند تا منبع خوب برای کار با MFC مطرح کنید.

Nima_NF
دوشنبه 04 آبان 1388, 23:44 عصر
1- MFC کاملا native هست و کاملا جدا از .NET است.
امکاناتی جدیدی که برای ترکیب با .NET نیز در کتابخانه های MFC نسخه های جدید اضافه شده است کاملا در dll های جدایی هستند، و از آنجایی که قرار نیست از آن ها استفاده کنید، برنامه شما همانند سابق کاملا native هست و به آن ها احتیاج نخواهد شد.

2- بسیاری از Editor های مطرح بازی های مخصوص ویندوز و حتی خود نرم افزار 3ds max با MFC هست.
تنها مشکل MFC این هست که اگر روزی تصمیم گرفتید که احیانا برای سایر سیستم عامل ها نیز یک editor عرضه کنید، به خاطر نوع کدنویسی MFC به هیچ عنوان ممکن نیست و 100% باید مجددا بنویسید. اگر این موضوع برایتان مهم نیست، بدانید که برای MFC منابع بیشتر و plugin و ابزار رایگان یا تجاری بیشتر ی در دسترس دارید. (مخصوصا امکانات طراحی نماها و ابزار visual studio که به VC++‎‎‎2008 اضافه شده است و برای editor ها بسیار نیازمند است، مانند بخش properties)

اگر سال قبل چنین سوالی در مورد انتخاب سایر کتابخانه های GUI می پرسیدید به خاطر GPL بود Qt همه می گفتند wxwidgets بهترین گزینه بعدی شما هست.
اما اکنون با LGPL شدن آن، انتخاب بستگی به نظر شخصی برنامه نویس دارد که بین Qt (با امکانات بیشتر و کمی سخت تر) و wxwidgets یکی را انتخاب کند.
Qt کلاس های ویژه برای ارتباط با OpenGL دارد.

3- توسط RichEdit بله، همان طور که در سایر زبان ها و کتابخانه ها وجود دارد.
دقت کنید که اکثر بخش های نوشتاری که برای syntax و کامپایل هستند، همگی سفارشی توسط برنامه نویس نوشته می شوند و بهتر هست که شما هم همین کار را انجام دهید (نوع فونت، نوع پاراگراف بندی، انتخاب رنگ و ...)
یک مثال برای win32 که معادل MFC آن هم مشابه هست (http://barnamenevis.org/forum/showpost.php?p=548571&postcount=3)

4- در این تاپیک کتاب ها معرفی شده اند (کلیک کنید) (http://barnamenevis.org/forum/showthread.php?t=86565)

pswin.pooya
سه شنبه 05 آبان 1388, 00:52 صبح
سلام

1. شما چه کنترلهایی رو برای MFC پیشنهاد میکنن ( به نظرتون جالب میاد).
2. کنترلهایی مثل کنترلهای دات نت بار برای MFC موجود هستش.
3. کنترلی رو میشه مشابه با کنترل TreeGX پیدا کرد. میخوام از اون برای نمایش HFSM استفاده کنم.

Nima_NF
سه شنبه 05 آبان 1388, 16:02 عصر
1- دقیق متوجه منظور سوال اول شما نشدم، انتخاب کنترل ها همیشه بستگی به برنامه نویسی دارد، مثلا بنده در خیلی از موارد ترجیح می دهم نما با Button ها و check box باشد تا property gride .
MFC نسخه 2008 به بعد تقریبا همه کنترل های مورد نظر شما را دارد، فقط با امکانات feature pack کمی سخت و پیچیده شده است و هنوز وقت نکردم از آن ها استفاده کنم.

2- بله، مایکروسافت کمپوننت تجاری BCGSoft را خرید.
البته در نسخه 2008 فعلا به شکل کدنویس باید style جدید را بسازید. اما در نسخه VC++‎2010 قرار هست که این امکان به toolbox هم اضافه شود تا راحت در نمای visual سبک های جدید را به دیالوگ ها اضافه کنید (مثل سبک های office 2007 / visual studio / windows 7 و ...)
نمونه عکس از این امکانات (http://blogs.msdn.com/vcblog/archive/2007/11/09/quick-tour-of-new-mfc-functionality.aspx)

3- اطلاع ندارم.
توصیه می کنم خودتان یک نسخه سفارشی درست کنید.