Microsoftin peruskurssit

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 29. joulukuuta 2020 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .

Microsoft Foundation Classes (MFC) -paketti on Microsoftin kehittämä C++-kirjasto, joka on suunniteltu helpottamaan GUI -sovellusten kehittämistä Microsoft Windowsille käyttämällä runsaasti kirjastoluokkia.

Kuinka se toimii

MFC-kirjasto, kuten sen pääkilpailija, Borland VCL , helpottaa työskentelyä GUI:n kanssa luomalla sovelluskehyksen  - "luuranko"-ohjelman, joka luodaan automaattisesti tietyn käyttöliittymäasettelun mukaan ja ottaa kokonaan haltuunsa sen rutiinitoiminnot. ylläpito (ikkunatapahtumien käsittely, tiedon siirto sisäisten elementtipuskurien ja ohjelmamuuttujien välillä jne.). Sovelluskehyksen luomisen jälkeen ohjelmoijan tarvitsee syöttää koodi vain paikkoihin, joissa tarvitaan erityistoimenpiteitä. Viitekehyksellä on oltava hyvin määritelty rakenne, joten Visual C++ tarjoaa ohjattuja toimintoja sen luomiseen ja muokkaamiseen.

Lisäksi MFC tarjoaa oliopohjaisen käärekerroksen ( englanninkieliset kääreet ) monien Windows API -toimintojen päälle , mikä tekee niiden kanssa työskentelystä helpompaa. Tämä kerros edustaa monia järjestelmään rakennettuja objekteja (ikkunoita, widgetejä , tiedostoja jne.) luokkien muodossa ja huolehtii jälleen rutiinitoiminnoista, kuten kuvaajien sulkemisesta ja muistin varaamisesta / vapauttamisesta.  

Koodin lisääminen sovelluskehykseen

Sovelluskoodin lisääminen kehykseen toteutetaan kahdella tavalla. Ensimmäinen käyttää periytymismekanismia : kehyksen pääohjelmarakenteet esitetään kirjastoista perittyjen luokkien muodossa . Nämä luokat tarjoavat monia virtuaalisia toimintoja , joita kutsutaan tietyissä ohjelman kohdissa. Määrittelemällä uudelleen (useimmissa tapauksissa on tarpeen kutsua perusluokan funktio) nämä funktiot, ohjelmoija voi lisätä suorituksen näihin kohtiin koodissaan.

Toista tapaa käytetään lisäämään ikkunatapahtumakäsittelijöitä. Ohjattu toiminto luo erityisiä taulukoita ikkunoihin liittyvien luokkien kehyksiin - (ikkuna)viestien karttoja ( eng.  message map ), jotka sisältävät "viestin ID - osoitin käsittelijälle" -pareja. Kun lisäät/poistat käsittelijän, ohjattu toiminto tekee muutoksia vastaavaan viestikarttaan.

Historia

Ensimmäinen MFC-versio julkaistiin Microsoftin 16-bittisen C/C++-kääntäjän version 7 kanssa vuonna 1992. API -toimintoja käyttäviä sovelluksia kehittäville MFC-paketti lupasi erittäin merkittävän lisäyksen ohjelmointiprosessin tuottavuuteen.

Eräs MFC:n huomionarvoinen ominaisuus on "Afx"-etuliite, jota käytetään monien funktioiden ja makrojen nimissä, sekä tavallisen otsikkotiedoston nimessä "stdafx.h". Kehityksen varhaisessa vaiheessa sitä, mikä myöhemmin tunnettiin nimellä MFC, kutsuttiin "Application Framework Extensions" ja lyhennettiin "Afx". Päätös muuttaa nimeksi Microsoft Foundation Classes (MFC) tehtiin liian myöhään, jotta koodin viittaukset Afx:iin muutettiin.

Object Windows Library (OWL), jonka Borland on kehittänyt ajamaan omaa C++- kääntäjäänsä , oli kilpaileva tuote, joka esiteltiin samana aikana. Borland lopetti lopulta OWL:n kehittämisen ja hankki lyhytaikaisen lisenssin MFC-kirjastojen käyttöön, mutta ei koskaan tarjonnut täyttä MFC-tukea tuotteilleen. Borland julkaisi myöhemmin VCL :n OWL:n tilalle.

Microsoftin keskittyminen MFC:hen on löystynyt Microsoft .NET Frameworkin hyväksi . Tästä huolimatta MFC on edelleen suosittu kehittäjien keskuudessa.

Huhtikuussa 2008 Microsoft julkaisi vuosien käyttämättömyyden jälkeen MFC:n suuren päivityksen nimeltä MFC Feature Pack. Tämä päivitys tarjottiin asennettavaksi Visual Studio 2008:n lisäosana. Periaatteessa nämä olivat MFC-lisäluokkia, joiden oikeudet hankittiin venäläiseltä BCGSoft-yritykseltä [1] . MFC sisälsi tuen uudelle Ribbon -liittymälle ja useita muita parannuksia, jotka liittyvät parannettuihin käyttöliittymän ohjauksiin. Visual Studio 2008 Service Packin julkaisun jälkeen näistä luokista on tullut olennainen osa MFC:tä.

Versiot

Tuotteen versio MFC versio Julkaisupäivä
Microsoft C/C++ 7.0 MFC 1.0 1992
Visual C++ 1.0 MFC 2.0 (otettu käyttöön asiakirjanäkymän arkkitehtuuri )
Visual C++ 1.5 MFC 2.5 (toteutettu tuki ODBC- ja vedä ja pudota -tekniikoille )
Visual C++ 1.52c MFC 2.5 (viimeisin kehitysalusta MS Windows 3.x:lle)
Visual C++ 2.0 MFC 3.0 (lisätty moniajo- ja Unicode- tuki )
Visual C++ 2.1 MFC 3.1
Visual C++ 2.2 MFC 3.2
Visual C++ 4.0 MFC 4.0 (mfc40.dll sisältyy Windows 95:een) elokuuta 1995
Visual C++ 4.1 MFC 4.1
Visual C++ 4.2 MFC 4.2 (mfc42.dll sisältyy Windows 98:n alkuperäiseen julkaisuun) Maaliskuu 1998
eMbedded Visual C++ 3.0 MFC 4.2 (mfc42.dll)
Visual C++ 5.0 MFC 4.21 (mfc42.dll), tärkeä päivitys MFC 4.2:een.
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 Helmikuu 2002
Visual C++ .NET 2003 (Visual C++ 7.1) MFC 7.1 (mfc71.dll), .NET 1.1 huhtikuuta 2003
Visual C++ 2005 [2] (Visual C++ 8.0) MFC 8.0 (mfc80.dll), .NET 2.0 lokakuuta 2005
Visual C++ 2008 [2] (Visual C++ 9.0) MFC 9.0.21022 (mfc90.dll), .NET 3.5 marraskuuta 2007
Visual C++ 2008 [2] Feature Packillä MFC 9.0.30411 (mfc90.dll) huhtikuuta 2008
Visual C++ 2008 [2] SP1 MFC 9.0.30729 (mfc90.dll) elokuu 2008
Visual C++ 2008 [2] Tietoturvapäivitys (KB971092) MFC 9.0.30729.4148 (mfc90.dll) Heinäkuu 2009
Visual C++ 2010 MFC 10.0.30319.1 (mfc100.dll), .NET 4.0 huhtikuuta 2010
Visual C++ 2010 SP1 MFC 10.0.40219.1 (mfc100.dll), .NET 4.0 Maaliskuu 2011
Visual C++ 2010 + MS11-025 MFC 10.0.30319.415 (mfc100.dll), .NET 4.0 huhtikuuta 2011
Visual C++ 2012 (Visual C++ 11.0) MFC 11.0.50727.1 (mfc110.dll), .NET 4.5 26. heinäkuuta 2012
Visual C++ 2012 -päivitys 1 (Visual C++ 11.0) MFC 11.0.51106.1 (mfc110.dll), .NET 4.5 5. marraskuuta 2012
Visual C++ 2012 -päivitys 3 (Visual C++ 11.0) MFC 11.0.60610.1 (mfc110.dll), .NET 4.5 26. heinäkuuta 2012
Visual C++ 2013 (Visual C++ 12.0) MFC 12.0.21005.1 (mfc120.dll), .NET 4.5.1 5. lokakuuta 2013
Visual C++ 2013 -päivitys 2 (Visual C++ 12.0) MFC 12.0.30501.0 (mfc120.dll), .NET 4.5.1 30. joulukuuta 2014
Visual C++ 2015 (Visual C++ 14.0) MFC 14.0.23026.0 (mfc140.dll), .NET 4.6 20. heinäkuuta 2015
Visual C++ 2015 -päivitys 1 (Visual C++ 14.0) MFC 14.0.23506.0 (mfc140.dll), .NET 4.6.1 30. marraskuuta 2015
Visual C++ 2015 -päivitys 2 (Visual C++ 14.0) MFC 14.0.23918.0 (mfc140.dll) 30. maaliskuuta 2016
Visual C++ 2015 -päivitys 3 (Visual C++ 14.0) MFC 14.0.24210.0 (mfc140.dll) 27. kesäkuuta 2016
Visual C++ 2015 -päivitys 3 + KB3165756 MFC 14.0.24212.0 (mfc140.dll) 2. elokuuta 2016
Visual C++ 2017 (Visual C++ 15.0) MFC 14.10.25008.0 (mfc140.dll), .NET 4.6.2 7. maaliskuuta 2017

Muistiinpanot

  1. BCGSoft: Tietoja meistä . Haettu 20. huhtikuuta 2011. Arkistoitu alkuperäisestä 25. toukokuuta 2011.
  2. 1 2 3 4 5 MFC-kirjasto ei sisälly Visual Studio Express Editioniin.

Katso myös