Microsoft alapozó osztályok

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. december 29-én felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

A Microsoft Foundation Classes (MFC) csomag a Microsoft által kifejlesztett C++ könyvtár, amelynek célja, hogy megkönnyítse a GUI -alkalmazások fejlesztését a Microsoft Windows rendszerhez a könyvtárosztályok gazdag készletével.

Hogyan működik

Az MFC könyvtár fő versenytársához, a Borland VCL -hez hasonlóan megkönnyíti a GUI-val való munkát azáltal, hogy egy alkalmazási keretrendszert hoz létre  – egy „csontváz” programot, amely automatikusan létrejön egy adott interfész-elrendezésnek megfelelően, és teljes mértékben átveszi a rutin műveleteket. karbantartás (ablakesemények feldolgozása, adatátvitel a belső elempufferek és programváltozók között stb.). Az alkalmazás keretrendszer létrehozása után a programozónak csak olyan helyeken kell megadnia a kódot, ahol speciális műveletekre van szükség. A keretrendszernek jól meghatározott szerkezettel kell rendelkeznie, ezért a Visual C++ varázslókat biztosít a létrehozásához és módosításához.

Ezenkívül az MFC objektumorientált burkolóréteget ( angol wrappers ) biztosít a Windows API számos funkciója felett , ami némileg kényelmesebbé teszi a velük való munkát. Ez a réteg sok, a rendszerbe épített objektumot (ablakok, widgetek , fájlok stb.) képvisel osztályok formájában, és ismét gondoskodik a rutin műveletekről, mint például a leírók bezárása és a memória lefoglalása/felszabadítása.  

Kód hozzáadása az alkalmazási keretrendszerhez

Az alkalmazáskód hozzáadása a keretrendszerhez kétféleképpen valósul meg. Az első az öröklési mechanizmust használja : a keretrendszer főbb programstruktúrái a könyvtárakból örökölt osztályok formájában jelennek meg. Ezek az osztályok számos virtuális függvényt biztosítanak , amelyeket a program bizonyos pontjain hívnak meg. A függvények újradefiniálásával (a legtöbb esetben meg kell hívni az alaposztály függvényét) a programozó a kódja ezeken a pontokon végrehajtást adhat hozzá.

A második módszer az ablakesemény-kezelők hozzáadására szolgál. A varázsló speciális tömböket hoz létre az ablakokhoz kapcsolódó osztályok keretein belül - (ablak)üzenetek térképei ( eng.  message map ), amelyek "üzenetazonosító - mutató a kezelőhöz" párokat tartalmaznak. Kezelő hozzáadásakor/eltávolításakor a varázsló módosítja a megfelelő üzenetleképezést.

Történelem

Az MFC első verziója a Microsoft 16 bites C/C++ fordítójának 7-es verziójával jelent meg 1992-ben. Az API -funkciókat használó alkalmazásokat fejlesztők számára az MFC csomag igen jelentős növekedést ígért a programozási folyamat termelékenységében.

Az MFC egyik figyelemre méltó jellemzője az "Afx" előtag, amelyet számos függvény, makró nevében használnak, valamint a szabványos fejlécfájl neve "stdafx.h". A fejlesztés korai szakaszában a később MFC néven ismertté vált „Application Framework Extensions” nevet kapta, rövidítése pedig „Afx”. A név Microsoft Foundation Classes (MFC) névre váltásáról szóló döntés túl későn született ahhoz, hogy megváltoztassák az Afx-re való hivatkozásokat a kódban.

Az Object Windows Library (OWL), amelyet a Borland fejlesztett ki saját C++ fordítójának futtatására , egy versenytárs termék volt, amelyet ugyanebben az időszakban mutattak be. A Borland végül leállította az OWL fejlesztését, és rövid távú licencet szerzett az MFC-könyvtárak használatára, de soha nem kínált teljes MFC-támogatást termékeiben. A Borland később kiadta a VCL -t az OWL helyett.

A Microsoft az MFC-re való összpontosítását a Microsoft .NET Framework javára lazította . Ennek ellenére az MFC továbbra is népszerű a fejlesztők körében.

2008 áprilisában a Microsoft több éves tétlenség után kiadta az MFC-hez az MFC Feature Pack nevű jelentős frissítést. Ezt a frissítést a Visual Studio 2008 kiegészítőjeként ajánlották fel telepítésre. Alapvetően további MFC osztályokról volt szó, amelyek jogait az orosz BCGSoft cégtől szerezték be [1] . Az MFC tartalmazta az új Ribbon interfész támogatását és számos egyéb fejlesztést a továbbfejlesztett interfészvezérlőkkel kapcsolatban. A Visual Studio 2008 Service Pack kiadása óta ezek az osztályok az MFC szerves részévé váltak.

Verziók

Termék verzió MFC verzió kiadási dátum
Microsoft C/C++ 7.0 MFC 1.0 1992
Visual C++ 1.0 MFC 2.0 (bevezetett dokumentumnézet architektúra )
Visual C++ 1.5 MFC 2.5 (megvalósított ODBC és drag-and-drop technológiák támogatása )
Visual C++ 1.52c MFC 2.5 (utolsó fejlesztői platform MS Windows 3.x-hez)
Visual C++ 2.0 MFC 3.0 (multitasking és Unicode támogatás hozzáadva )
Visual C++ 2.1 MFC 3.1
Visual C++ 2.2 MFC 3.2
Visual C++ 4.0 MFC 4.0 (az mfc40.dll a Windows 95-höz tartozik) 1995. augusztus
Visual C++ 4.1 MFC 4.1
Visual C++ 4.2 MFC 4.2 (az mfc42.dll a Windows 98 kezdeti kiadásában szerepel) 1998. március
eMbedded Visual C++ 3.0 MFC 4.2 (mfc42.dll)
Visual C++ 5.0 MFC 4.21 (mfc42.dll), az MFC 4.2 fő frissítése.
Visual C++ 6.0 MFC 6.0 (mfc42.dll) 1998
eMbedded Visual C++ 4.0 MFC 6.0 (mfcce400.dll)
Visual C++ .NET 2002 (Visual C++ 7.0) MFC 7.0 (mfc70.dll), .NET 1.0 2002. február
Visual C++ .NET 2003 (Visual C++ 7.1) MFC 7.1 (mfc71.dll), .NET 1.1 2003. április
Visual C++ 2005 [2] (Visual C++ 8.0) MFC 8.0 (mfc80.dll), .NET 2.0 2005. október
Visual C++ 2008 [2] (Visual C++ 9.0) MFC 9.0.21022 (mfc90.dll), .NET 3.5 2007. november
Visual C++ 2008 [2] funkciócsomaggal MFC 9.0.30411 (mfc90.dll) 2008. április
Visual C++ 2008 [2] SP1 MFC 9.0.30729 (mfc90.dll) 2008. augusztus
Visual C++ 2008 [2] Biztonsági frissítés (KB971092) MFC 9.0.30729.4148 (mfc90.dll) 2009. július
Visual C++ 2010 MFC 10.0.30319.1 (mfc100.dll), .NET 4.0 2010. április
Visual C++ 2010 SP1 MFC 10.0.40219.1 (mfc100.dll), .NET 4.0 2011. március
Visual C++ 2010 + MS11-025 MFC 10.0.30319.415 (mfc100.dll), .NET 4.0 2011. április
Visual C++ 2012 (Visual C++ 11.0) MFC 11.0.50727.1 (mfc110.dll), .NET 4.5 2012. július 26
Visual C++ 2012 Update 1 (Visual C++ 11.0) MFC 11.0.51106.1 (mfc110.dll), .NET 4.5 2012. november 5
Visual C++ 2012 Update 3 (Visual C++ 11.0) MFC 11.0.60610.1 (mfc110.dll), .NET 4.5 2012. július 26
Visual C++ 2013 (Visual C++ 12.0) MFC 12.0.21005.1 (mfc120.dll), .NET 4.5.1 2013. október 5
Visual C++ 2013 2. frissítés (Visual C++ 12.0) MFC 12.0.30501.0 (mfc120.dll), .NET 4.5.1 2014. december 30
Visual C++ 2015 (Visual C++ 14.0) MFC 14.0.23026.0 (mfc140.dll), .NET 4.6 2015. július 20
Visual C++ 2015 Update 1 (Visual C++ 14.0) MFC 14.0.23506.0 (mfc140.dll), .NET 4.6.1 2015. november 30
Visual C++ 2015 2. frissítés (Visual C++ 14.0) MFC 14.0.23918.0 (mfc140.dll) 2016. március 30
Visual C++ 2015 Update 3 (Visual C++ 14.0) MFC 14.0.24210.0 (mfc140.dll) 2016. június 27
Visual C++ 2015 Update 3 + KB3165756 MFC 14.0.24212.0 (mfc140.dll) 2016. augusztus 2
Visual C++ 2017 (Visual C++ 15.0) MFC 14.10.25008.0 (mfc140.dll), .NET 4.6.2 2017. március 7

Jegyzetek

  1. BCGSoft: Rólunk . Letöltve: 2011. április 20. Az eredetiből archiválva : 2011. május 25..
  2. 1 2 3 4 5 A Visual Studio Express Edition nem tartalmazza az MFC-könyvtárat.

Lásd még