Microsoft Foundation Class Library

Der Microsoft Foundation Class Library (auch Microsoft Foundation Classes oder MFC) ist eine Bibliothek, die Teile der Windows-API in C ++ Klassen einschließlich der Funktionalität wickelt, die ihnen ermöglicht, ein Verzug-Anwendungsfachwerk zu verwenden. Klassen werden für viele der Griff-geführten Windows-Gegenstände und auch für vorherbestimmte Fenster und allgemeine Steuerungen definiert.

Geschichte

MFC wurde 1992 mit dem C/C des Microsofts ++ 7.0 Bearbeiter für den Gebrauch mit 16-Bit-Versionen von Windows als ein äußerst dünner objektorientierter C ++ Streifband für die Windows-API eingeführt. C ++ begann gerade, C für die Entwicklung der kommerziellen Anwendungssoftware zurzeit zu ersetzen. In einem MFC Programm sind direkte Windows-API-Anrufe selten erforderlich. Statt dessen schaffen Programme Gegenstände von MFC Klassen und nennen Mitglied-Funktionen, die jenen Gegenständen gehören. Viele jener Funktionen teilen ihre Namen mit entsprechenden API-Funktionen.

Eine interessante Marotte von MFC ist der Gebrauch von "Afx" als das Präfix für viele Funktionen, Makros und der Standard haben Kopfball-Namen "stdafx.h" vorkompiliert. Während der frühen Entwicklung, was MFC geworden ist, wurde "Anwendungsfachwerk-Erweiterungen" genannt und "Afx" abgekürzt. Der Name Microsoft Foundation Classes (MFC) wurde zu spät im Ausgabe-Zyklus angenommen, um diese Verweisungen zu ändern.

MFC 8.0 wurde mit dem Sehstudio 2005 veröffentlicht. MFC 9.0 wurde mit dem Sehstudio 2008 veröffentlicht. MFC wird in die freie Ausgabe von Visuellem C ++ 2005/2008/2010 Schnellzug nicht eingeschlossen.

Object Windows Library (OWL), die für den Gebrauch mit dem Turbo von Borland C ++ Bearbeiter entworfen ist, war ein konkurrierendes Produkt, das von Borland um dieselbe Zeit eingeführt ist. Schließlich hat Borland EULE-Entwicklung unterbrochen und hat den Vertrieb der MFC Kopfbälle, Bibliotheken und DLLs von Microsoft seit einer kurzen Zeit lizenziert, obwohl es nie völlig integrierte Unterstützung für MFC angeboten hat. Borland hat später VCL (Sehteilbibliothek) veröffentlicht, um das EULE-Fachwerk zu ersetzen.

Die Betonung des Microsofts auf MFC ist für sein.NET Fachwerk reduziert worden. MFC 7, 8 und 9 Brücke-Elemente von MFC mit dem.NET Fachwerk, um Entwicklern im Abweichen zum neuen Fachwerk zu helfen. Der MSVC ++ Bearbeiter backend kann geführte und heimische Gegenstand-Datei (En) ausstrahlen. Der linker kann sie dann zusammen bauen, gemischt (sowohl geführt als auch Eingeborener) Anwendungen erzeugend, vorhandenen heimischen Anwendungen erlaubend, geführte Erweiterungen auf eine nahtlose Weise zu verwenden. Obwohl Microsoft MFC bagatellisiert hat, bleibt es ein populäres und weit verwendetes Fachwerk.

Eine Leichtgewichtsalternative zu MFC ist Windows Template Library (WTL). C ++ kompiliert Ausdrückliche Version WTL Anwendungen (wenn Sie ATL installiert haben), aber schließt die IDE Unterstützung des Standards, des Fachmannes und der Mannschaft-Ausgaben nicht ein.

Eigenschaften

Zur Zeit seiner Einführung hat MFC C ++ Makros für das Windows-Nachrichtenberühren (über die Nachricht Karten), Ausnahmen, Laufzeittyp-Identifizierung (RTTI), Anordnung und dynamische Klasse instantiation zur Verfügung gestellt.

Die Makros für das Nachrichtenberühren haben zum Ziel gehabt, Speicherverbrauch durch das Vermeiden unentgeltlichen virtuellen Tabellengebrauches zu reduzieren und auch eine konkretere Struktur für verschiedenen Visuellen C ++-supplied Werkzeuge zur Verfügung zu stellen, um Code zu editieren und zu manipulieren, ohne die volle Sprache grammatisch zu analysieren. Die nachrichtenbehandelnden Makros haben den virtuellen Funktionsmechanismus ersetzt, der durch C ++ zur Verfügung gestellt ist.

Die Makros für die Anordnung, Ausnahmen und RTTI haben Verfügbarkeit dieser Eigenschaften in Microsoft C ++ vor mehreren Jahren zurückdatiert. 32-Bit-Versionen von MFC, für Windows NT 3.1 und späteres Windows Betriebssysteme, haben Bearbeiter verwendet, die die Spracheigenschaften durchgeführt haben und die Makros aktualisiert haben, um einfach die Spracheigenschaften zu wickeln, anstatt kundengerecht angefertigte Durchführungen zur Verfügung zu stellen, nach oben gerichtete Vereinbarkeit begreifend.

Visueller C ++ 2008-Eigenschaft-Satz

Am 7. April 2008 hat Microsoft eine Aktualisierung zu den MFC Klassen als eine Aktualisierung aus dem Band zum Sehstudio 2008 und MFC 9 veröffentlicht. Die Aktualisierung zeigt neue Benutzerschnittstelle-Konstruktionen, einschließlich der Zierband-Benutzerschnittstelle von Microsoft Office 2007 und vereinigten UI Produkten, völlig anpassbaren Werkzeugleisten, Fensterscheiben wie Sehstudio 2005 eindockend (der entweder frei schwimmen lassen oder zu jeder Seite eingedockt werden kann), und Dokumentenetikette. Der MFC Zierband-Quellenredakteur erlaubt dem Entwickler, das Zierband grafisch zu entwerfen, anstatt die XML-basierte Aussagepreiserhöhung wie die API von RibbonX in Microsoft Office 2007 verwenden zu müssen. Fakultativ können Zierband-Bestandteile direkt durch das Benennen eines neuen Satzes von Zierband-Klassenmethoden programmiert werden. Der Entwickler kann grafische und programmatic Zierband-Entwicklung mischen, wie günstig ist. Der MFC Anwendungszauberer ist auch befördert worden, um die neuen Eigenschaften - einschließlich eines Ankreuzfeldes zu unterstützen, um auszuwählen, ob die Anwendung das Zierband oder das Sehstudio 2005 Benutzerschnittstelle-Elemente verwenden wird. Die neue Funktionalität wird in neuen Klassen zur Verfügung gestellt, so dass alte Anwendungen noch fortsetzen zu laufen. Diese Aktualisierung baut oben auf der Bibliotheksberufsausgabe von BCGControlBar von BCGSOFT.

Microsoft hat auch zusätzliche Genehmigen-Voraussetzungen an Benutzer des Zierbandes UI auferlegt. Diese schließen eine Voraussetzung ein, um an Microsoft UI Design Guidelines und einem Verbot gegen das Verwenden solch eines UI in Anwendungen zu kleben, die sich mit Anwendungen von Microsoft Office bewerben.

Versionen

Weiterführende Literatur

Außenverbindungen


Krieg, um alle Kriege zu beenden / MFC
Impressum & Datenschutz