مكتبة فئات مؤسسة مايكروسوفت

مكتبة فئات مؤسسة مايكروسوفت (MFC) هي مكتبة C++ كائنية التوجه لتطوير تطبيقات سطح المكتب لنظام التشغيل Windows .

أطلقت مايكروسوفت إطار عمل MFC في عام 1992، وسرعان ما انتشر استخدامه على نطاق واسع. ورغم أن مايكروسوفت قد طرحت أطر عمل بديلة للتطبيقات منذ ذلك الحين، إلا أن MFC لا يزال مستخدماً على نطاق واسع.

تاريخ

طُرحت مكتبة MFC في عام 1992 مع مُصرّف C/C++ 7.0 من مايكروسوفت لاستخدامها مع إصدارات ويندوز ذات 16 بت، كغلاف C++ بسيط للغاية وموجه للكائنات لواجهة برمجة تطبيقات ويندوز. في ذلك الوقت، كانت لغة C++ في بداية استبدال لغة C في تطوير برامج التطبيقات التجارية. نادرًا ما تكون هناك حاجة إلى استدعاءات مباشرة لواجهة برمجة تطبيقات ويندوز في برنامج MFC. بدلًا من ذلك، تُنشئ البرامج كائنات من فئات Microsoft Foundation Class وتستدعي الدوال الأعضاء التابعة لتلك الكائنات. تشترك العديد من هذه الدوال في أسمائها مع دوال واجهة برمجة التطبيقات المقابلة. [ 2 ]

من خصائص MFC استخدام البادئة "Afx" للعديد من الدوال والماكرو واسم ملف الرأس القياسي المُجمَّع مسبقًا " stdafx.h ". خلال المراحل الأولى من التطوير، كان ما أصبح يُعرف باسم MFC يُسمى "امتدادات إطار عمل التطبيقات" ويُختصر إلى "Afx". وقد اعتُمد اسم Microsoft Foundation Classes (MFC) في وقت متأخر جدًا من دورة الإصدار بحيث لم يكن من الممكن تغيير هذه الإشارات.

صدرت MFC 8.0 مع Visual Studio 2005، وصدرت MFC 9.0 مع Visual Studio 2008. وفي 7 أبريل 2008، أصدرت مايكروسوفت تحديثًا لفئات MFC كتحديث منفصل لـ Visual Studio 2008 وMFC 9. [ 3 ] [ 4 ] [ 5 ] يتضمن التحديث بنى جديدة لواجهة المستخدم، بما في ذلك الأشرطة وعناصر واجهة المستخدم المرتبطة بها ، وأشرطة أدوات قابلة للتخصيص بالكامل ، ولوحات إرساء يمكن تحريكها بحرية أو تثبيتها على أي جانب، بالإضافة إلى علامات تبويب المستندات . [ 6 ]

كانت MFC في البداية ميزةً حصريةً للإصدارات التجارية من Visual Studio. ولذلك، فهي غير مُضمّنة في برنامج Visual C++ Express المجاني . [ 7 ] مع ذلك، يتضمن إصدار Community من Visual Studio ، الذي طُرح عام 2014، ميزة MFC.

كانت مكتبة نوافذ الكائنات (OWL)، المصممة للاستخدام مع مُصرّف Turbo C++ من Borland ، منتجًا منافسًا طرحته Borland في نفس الفترة تقريبًا. في نهاية المطاف، أوقفت Borland تطوير OWL، ورخصت توزيع رؤوس MFC ومكتباتها وملفات DLL من Microsoft لفترة وجيزة [ 8 ] ، مع أنها لم تُقدّم دعمًا متكاملًا لـ MFC. لاحقًا، أصدرت Borland مكتبة المكونات المرئية (Visual Component Library) لتحل محل إطار عمل OWL.

سمات

MFC هي مكتبة تغلف أجزاءً من واجهة برمجة تطبيقات Windows في فئات C++ ، [ 9 ] بما في ذلك وظائف تُمكّنها من استخدام إطار عمل تطبيق افتراضي . يتم تعريف الفئات للعديد من كائنات Windows المُدارة بواسطة handle ، وكذلك للنوافذ المُعرّفة مسبقًا وعناصر التحكم الشائعة.

عند إطلاقها، وفرت MFC وحدات ماكرو C++ لمعالجة رسائل نظام التشغيل Windows (عبر خرائط الرسائل [ 10 ]والاستثناءات ، ومعلومات نوع وقت التشغيل (RTTI)، والتسلسل ، وإنشاء مثيلات الفئات الديناميكية. هدفت وحدات الماكرو لمعالجة الرسائل إلى تقليل استهلاك الذاكرة عن طريق تجنب الاستخدام غير الضروري للجداول الافتراضية ، بالإضافة إلى توفير بنية أكثر وضوحًا لأدوات Visual C++ المختلفة لتحرير التعليمات البرمجية ومعالجتها دون الحاجة إلى تحليل اللغة بالكامل. حلت وحدات الماكرو لمعالجة الرسائل محل آلية الدوال الافتراضية التي توفرها لغة C++.

سبقت وحدات الماكرو الخاصة بالتسلسل والاستثناءات وRTTI توفر هذه الميزات في لغة مايكروسوفت سي++ بعدة سنوات. استخدمت إصدارات 32 بت من MFC، لأنظمة تشغيل ويندوز NT 3.1 والإصدارات الأحدث، مُجمِّعاتٍ تُنفِّذ ميزات اللغة وتُحدِّث وحدات الماكرو لتغليف ميزات اللغة ببساطة بدلاً من توفير تطبيقات مُخصَّصة، مما يُحقق التوافق مع الإصدارات السابقة.

يُتيح مُحرر موارد شريط MFC للمطور تصميم الشريط بشكلٍ رسومي بدلاً من استخدام لغة الترميز التصريحية القائمة على XML مثل واجهة برمجة تطبيقات RibbonX . ويمكن برمجة مكونات الشريط مباشرةً عن طريق استدعاء مجموعة جديدة من أساليب فئة الشريط. كما يُمكن للمطور الجمع بين تطوير الشريط الرسومي والبرمجي حسب الحاجة. وقد تم تحديث معالج تطبيقات MFC لدعم الميزات الجديدة، بما في ذلك خانة اختيار لتحديد ما إذا كان التطبيق سيستخدم الشريط أو لوحات الإرساء. وتُقدم الوظائف الجديدة في فئات جديدة لضمان استمرار تشغيل التطبيقات القديمة. [ 6 ] ويعتمد هذا التحديث على الإصدار الاحترافي من مكتبة BCGControlBar من BCGSoft . [ 11 ] وقد فرضت مايكروسوفت متطلبات ترخيص إضافية على مستخدمي الأشرطة. [ 12 ] وتشمل هذه المتطلبات الالتزام بإرشادات تصميم واجهة المستخدم من مايكروسوفت، وبندًا لمكافحة المنافسة يحظر استخدام واجهة المستخدم في التطبيقات التي تُنافس مايكروسوفت أوفيس .

يمكن استخدام MFC عن طريق ربط مكتبة ثابتة أو عن طريق إضافة مكتبة الارتباط الديناميكي MFC (DLL).

انظر أيضاً

مراجع

  1. "ملاحظات إصدار Visual Studio 2019" . Msdn.microsoft.com . تم الاطلاع عليه بتاريخ 24 يوليو 2019 .
  2. نظرة عامة على Visual C++ Express
  3. "تم شحن حزمة ميزات Visual C++ 2008" . مدونة سوماسيغار . مايكروسوفت. 7 أبريل 2008.
  4. "تم إصدار حزمة ميزات Visual C++ 2008!" . مدونة فريق C++ . مايكروسوفت. 7 أبريل 2008.
  5. "تحديث حزمة ميزات Visual C++ 2008" . مدونة فريق C++ . مايكروسوفت. 22 أبريل 2008.
  6. 1 2 "جولة سريعة في وظائف MFC الجديدة" . Blogs.msdn.com. 9 نوفمبر 2007. تم الاطلاع عليه في 10 سبتمبر 2019 .
  7. "الأسئلة الشائعة حول إصدار Visual Studio Express" . Microsoft.com. مؤرشف من الأصل في 11 يونيو 2011. تم الاطلاع عليه في 6 يناير 2012 .
  8. "مايكروسوفت تستحوذ على شركة إنبرايز، وتسوي النزاعات" . Techweb.com. مؤرشف من الأصل بتاريخ 17 أكتوبر 2007. تم الاطلاع عليه بتاريخ 6 يناير 2012 .
  9. بيرغن، ستيوارت (أكتوبر 2024). "تحديث المصفوفات القديمة: استبدال CArray بـ std::vector" . Overload . المجلد 32، العدد 183. المملكة المتحدة: ACCU . الصفحات 20-23 . ISSN 1354-3172 .    
  10. ويليامز، ميكي؛ ديفيد بينيت. "إنشاء خرائط الرسائل الخاصة بك" . إنفورم آي تي.
  11. "تحديث MFC مدعوم من BCGSoft" . Msdn2.microsoft.com. 9 نوفمبر 2007. تم الاطلاع عليه في 16 نوفمبر 2007 .
  12. "صفحة تنزيل حزمة ميزات Visual C++ 2008" . Microsoft.com . تم الاطلاع عليها بتاريخ 16 مايو 2008 .

للمزيد من القراءة