Tutoriel mfc

Microsoft Foundation Classes, ou MFC, est une bibliothèque qui fournit un wrapper orienté objet autour de l’API Win32. En encapsulant l’API Win32 “brute” dans des classes C++, MFC facilite considérablement la création d’applications graphiques et la gestion des ressources.

MFC existe depuis très longtemps. Il a été introduit pour la première fois en 1992 avec la version 7 du compilateur C/C++ de Microsoft. A cette époque, le développement C++ commençait tout juste à décoller. Les versions ultérieures de Visual Studio ont été livrées avec des versions considérablement améliorées de MFC. Il est toujours inclus avec la dernière version de Visual Studio 2015. Mais ses racines héritées sont malheureusement bien visibles. Étant donné que la plupart d’entre eux ont été développés avant la normalisation du langage C++, les classes MFC n’utilisent pas pleinement les fonctionnalités C++ modernes telles que les modèles, fournissent leurs propres implémentations personnalisées d’autres fonctionnalités C++ standard telles que RTTI et utilisent de nombreux idiomes non standard. . Ces faits rendent presque impossible la compilation d’une application MFC avec un compilateur autre que celui de Microsoft. Du côté positif, cependant, MFC est bien intégré à Visual Studio, ce qui facilite considérablement le développement.

Au début du développement, la bibliothèque était connue sous le nom d’Application Framework Extensions (en abrégé AFX). Le service marketing a ensuite changé son nom en MFC, mais il était trop tard pour modifier le code, une grande partie du code faisant toujours référence à “Afx” au lieu de “Mfc”. Un exemple notable est le fichier d’en-tête standard pré-compilé qui est automatiquement généré par Visual Studio : il est nommé StdAfx.h.

Le 7 avril 2008, Microsoft a publié une mise à jour des classes MFC en tant que mise à jour hors bande de Visual Studio 2008 et MFC 9. La mise à jour propose de nouvelles constructions d’interface utilisateur, y compris les rubans (similaire à celui de Microsoft Office 2007) et widgets d’interface utilisateur associés, barres d’outils entièrement personnalisables, volets d’ancrage (comme Visual Studio 2005) qui peuvent être librement flottants ou ancrés à n’importe quel onglet latéral et de document. La nouvelle fonctionnalité est fournie dans de nouvelles classes afin que les anciennes applications continuent de fonctionner. Cette mise à jour s’appuie sur BCGSoft BCGControlBar Library Professional Edition et a été nommée MFC Feature Pack.

Alors maintenant, MFC se compose de deux bibliothèques avec des approches différentes :

  • MFC classique (wrapper pour l’API Win32).
  • Pack de fonctionnalités MFC (ensemble mixte de contrôles API Win32 et de nouveaux contrôles d’auto-dessin, comme le ruban).

Voir également:

  • Applications de bureau MFC (présentation)
  • Référence MFC (référence API)
  • MFC Feature Pack (présentation)
  • [Référence du pack de fonctionnalités MFC] (https://msdn.microsoft.com/en-us/library/bb983528(v=vs.100).aspx) (référence de l’API du pack de fonctionnalités)
  • [Exemples de pack de fonctionnalités MFC] (https://msdn.microsoft.com/en-us/library/bb983962(v=vs.100).aspx)