کتابخانه MFC در ویرایش جدید خود ویژگیهای جدید متعددی را به خود دیده است. یکی از این ویژگیهای جدید، افزوده شدن قابلیت ایجاد واسط کاربری جدید و حرفه ای مانند آنچه در Office 2007 و یا Visual Studio وجود دارد، می باشد. در این مقاله قصد داریم تا شما را با مدل جدید UI موجود در MFC که بنام Ribbon Bar شناخته می شود آشنا کنیم.
المان های واسط کاربری مدرن
همانطور که گفته شد Update جدید اعمال شده بر روی کتابخانه MFC برنامه نویسان ++Visual C را قادر به تهیه برنامه های کاربردی تحت ویندوز با قابلیت ارائه واسط کاربری شامل Ribbon Bar، Office-style menus، Visual Studio-style docking toolbar، Tabbed document و موارد متعدد دیگر می سازد. تمامی این کامپوننت ها که در این update جدید گنجانده شده اند بر روی Windows 2000 به بالا اجرا خواهند شد.
بسیار خوب اکنون به برخی قابلیت های Ribbon Bar می پردازیم. شکل زیر یک برنامه مبتنی بر کتابخانه MFC را نشان می دهد که بر پایه مدل Office 2007 ایجاد شده است.
این Ribbon Bar شامل دکمه اصلی برنامه (application button) دکمه بزرگ قسمت بالایی سمت چپ، toolbar با دسترسی سریع که شامل مجموعه ای کوچک از ابزارها درست سمت راست application button ، و کامپوننتهای استاندارد Ribbon می باشد. هر tab بر روی Ribbon (مثلا" "Home") دسترسی به مجموعه ای خاص از ابزارها را میسر می سازد. هر کدام از این مجموعه ها خود شامل چند panel می باشد مانند Clipboard و Font که هر panel نیز مجموعه ای از المانهای Ribbon را تشکیل می دهد.
قبل از ادامه بحث فوق بد نیست نگاهی هم به قابلیتهای واسط کاربری مبتنی بر Visual Studio بپردازیم. شاید بسیاری از برنامه نویسان مایل به ساخت برنامه های کاربردی باشند که برخی امکانات موجود در واسط کاربری Visual Studio را به کار ببرد. بعنوان مثال استفاده از قابلیت smart docking که در Visual Studio 2005 به بالا مورد استفاده قرار گرفته است، بیشتر از دیگر قابلیت ها مورد توجه برنامه نویسان برای گنجاندن آن در برنامه های خود می باشد. در ویرایش جدید MFC همه این قابلیتهای مفید که قبلا" در Visual Studio دیده بودید در اختیار شماست.
در اینجا نگاهی به بعضی از این قابلیتها می پردازیم. شکل زیر یک برنامه تحت MFC را نشان می دهد که بر پایه استفاده از واسط کاربری Visual Studio ساخته شده است.
تمام قابلیت های موجود در نحوه کارکرد منوهای Visual Studio در اینجا نیز براحتی قابل اعمال است و همانطور که در شکل دیده می شود قابلیت docking نیز براحتی در دسترس کاربران است و همچنین tabbed MDI document نیز همانند Visual Studio قابل اعمال می باشد.
المانهای Ribbon:
در ادامه به تشریح قابلیتها موجود در Ribbon می پردازیم. شکلهای موجود در این مقاله برگرفته از مثال RibbonGadgets می باشد که به همراه update جدید MFC ارائه شده است. در شکل زیر شما می توانید دکمه های کوچک و بزرگ را به همراه check box ها مشاهده کنید. دکمه ها می توانند ساده و یا بصورت منوی پایین افتادنی (drop down) باشند.
در شکل زیر دکمه های palette دیده می شوند. بر روی هرکدام از این دکمه ها یک تصویر وجود دارد که مطابق با کارایی آن دکمه می باشد. البته همه این تصاویر براحتی قابل تغییر می باشند. این palette ها هم می توانند بر روی Ribbon جای داده شوند و هم اینکه بصورت drop down از یک دکمه در یک پنجره با قابلیت resize شدن نمایش داده شوند.
در شکل زیر روشهای مختلف انتخاب رنگ را مشاهده می کنید. این ها می توانند بر روی Ribbon جا داده و یا به یک دکمه ضمیمه شوند. جدول مشاهده شده در شکل براحتی قابل تغییر بوده ضمن اینکه dialog box انتخاب رنگ نیز بسیار انعطاف پذیر بوده و قابلیت گرفتن رنگ هر پیکسل از صفحه تصویر را دارد.
در شکل زیر گروه های فرمانها قابل مشاهده هستند. یک گروه می تواند از toolbar های موجود تشکیل شده باشد بنابر این اگر برنامه شما دارای toolbar های زیادی باشد می توانید آنها را بر روی Ribbon همانند شکل زیر جای دهید.
پشتیبانی از edit Box ها، combo box ها، کنترل های چرخشی و کنترلهایی نظیر انتخاب فونت نیز می توانند همانند شکل زیر بر روی Ribbon نمایش داده شوند.
در شکل زیر المانهای بیشتری از Ribbon نشان داده شده اند که همانطور که مشاهده می کنید شامل progress bar ، links و slider می باشد.
ویزارد قدرتمند:
امکان ایجاد پروژه ای مبتنی بر Office 2007 و یا Visual Studio براحتی با گنجاندن یک لیست بازشدنی در ویزارد قدرتمند MFC مهیا شده است. پس برنامه نویس فقط کافیست انتخاب کند که پروژه مورد نظرش تحت چه واسط کاربری نمایش داده شود. همچنین اگر نوع برنامه MDI باشد می توان انتخاب کرد که پنجحره های مختلف برنامه بصورت tabbed document باز شوند یا بصورت MDI معمولی. همچنین انتخاب دیگری که در ویزار موجود است این امکان را به برنامه می دهد که رنگ و نحوه نمایش در حالت run time قابل تغییر باشد. لذا کاربر می تواند به هنگام کار با برنامه در صورت نیاز رنگ و حالت برنامه را به دلخواه خود تغییر دهد بدون این که برنامه را بسته و دوباره اجرا کند.
شکل زیر نمایی از یک برنامه در حال اجرا را نشان می دهد که با انتخاب واسط کاربری Office از طریق ویزارد ایجاد شده است. یک navigation bar که همانند Outlook می باشد نیز در سمت چپ چهارچوب برنامه به همراه یک caption bar در قسمت بالا dock شده اند. در قسمت سمت راست Ribbon یک المان پایین افتادنی به نام Style قرار گرفته است که بوسیله آن می توان رنگ دلخواه برنامه را انتخاب نمود.
ارتقأ آسان پروژه های ایجاد شده با وبرایشهای قبلی MFC:
یکی از مهمترین چیزهایی که در مورد update جدید برای MFC مطرح است قابلیت بکارگیری بسیار راحت قابلیتهای جدید در پروژه های فعلی می باشد یعنی پروژه هایی که مبتنی بر ویرایشهای قبلی MFC ایجار شده اند. تمام این قابلیت های ویژه در کلاسهای جدیدی در MFC کد نویسی شده اند و هیچکدام از کلاسهای قبلی شامل تغییر نمی باشند. لذا آنچه که برای تبدیل واسط کاربری برنامه خود به آنچه که در این مقاله بدان پرداخته شد، تنها تغییر کلاسهای پایه برنامه و افزودن چند خط کد می باشد. با عرضه عمومی این update شما می توانید خود با بکارگیری قابلیت های جدید ارائه شده، استفاده از این واسط های کاربری مدرن را تجربه کنید.