SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

Les News font peau Neuve...
Accueil > Articles > Actualité
Auteurs 
Olivier BOISNE
LABORATOIRE MICROSOFT


 Tous les articles de cet auteur

3,1/5

Assez Bien


35291
88/278
Sommaire
Partie 1 - Structure d'un programme Windows
Partie 2 - Les MFC et les outils de développement proposés par Visual C++
Partie 3 - Création d'un agenda grace aux MFC

Introduction

Nous allons décrire dans cet article la facilité de la conception d'une application Windows sur Visual C++ 6.0, assistée par AppWizard et les MFC.
Dans un premier lieu, pour démontrer l'avantage apporté par l'utilisation des MFC, nous vous décrierons très rapidement la structure d'une application Win32 sans faire appel aux MFC..
Ensuite, pour entrer dans le vif du sujet, nous présenterons les solutions fournies par Microsoft dans le cadre d'un développement rapide et efficace : AppWizard, ClassWizard. Par la suite, nous détaillerons étape par étape, la réalisation d'une application de base de type " Hello World ", avec l'aide de ces outils et des MFC.
Dans la dernière partie de l'article, nous aborderons la réalisation d'un Agenda qui sera finalisé dans un deuxieme article. Cet agenda illustre réellement l'utilité des MFC, en effet, l'ensemble de ces actions possibles sera exclusivement développé avec des MFC.


1er partie : Structure d'un programme Windows

Différence principale entre application Win32 et Dos

Lorsque vous écrivez un programme sous Dos, c'est le système d'exploitation qui obéit. Vous appelez le système lorsque vous avez besoin d'un service. Concrètement, vous avez la possibilité de vous adressez directement aux composants matériels de votre ordinateur.
Sous Windows, la situation est renversée. En effet, votre programme est asservi et c'est Windows qui commande. Ainsi lorsque vous utilisez un programme Windows, vous dialoguez avec Windows, qui se charge de communiquer avec l'application à votre place.
Ce fonctionnement est justifié puisque comme nous le savons, Windows autorise l'exécution simultanée de plusieurs programmes. Il est donc indispensable que Windows puisse gérer le partage des ressources de l'ordinateur entre ces différents programmes, dans le but de maintenir une cohérence et stabilité du système.

Caractéristiques des programmes sous Windows

Les programmes Windows réagissent à des événements. Le code d'une application Windows est en grande partie consacré au traitement des événements provoqués par l'intervention de l'utilisateur. Concrètement, vous aurez par exemple, une partie de code définie pour répondre à un clic sur un bouton "OK".
Windows enregistre chaque événement dans un message, et place ce dernier dans une file d'attente associée au programme auquel le message est destiné. Ce message est traité par une fonction déterminée pour la gestion de ces messages : WndProc( ) ou WindowsProc( ). En détails, lors de l'envoi d'un message à votre programme, Windows appelle la fonction WindowsProc( ), et transmet les données nécessaires à votre programme pour répondre à l'évènement, sous la forme d'arguments de cette fonction.

Remarques : il n'est pas nécessaire d'écrire du code pour traiter chaque message. En effet, vous pouvez retenir ceux qui présentent un intérêt pour votre programme et y répondre, et renvoyer les autres à Windows en appelant une fonction standard de Windows : DefWindowsProc( ), qui se chargera de les traiter.
Toutes les communications entre une application et Windows font appel à l'interface de programmation d'application Windows ou API Windows. Il s'agit en faite d'un millier de fonctions fournies en standard avec Windows et destinées à être employées par votre applications. L'API est constituée de tant de fonctions qu'il est quasi impossible de les exploiter en l'état, il est déjà difficile d'essayer de comprendre ce qu'elles permettent de faire.

Structure d'un programme Windows

Sous sa forme la plus réduite, un programme écrit exclusivement à l'aide de l'API Windows comporte deux fonctions :
- une fonction WinMain( ) appelée au début de l'exécution du programme et contenant son initialisation de base, par analogie, il s'agie de la fonction main( ) d'un programme console,
- et la fonction WindowsProc ( ).
Ces deux fonctions composent un programme complet, mais elles ne sont pas directement liées. En effet, WinMain( ) n'appelle pas WindowsProc( ). C'est Windows qui assure l'intégration du programme, en établissant le lien avec ces deux fonctions : la fonction WinMain( ) communique avec Windows en appelant certaines des fonctions de l'API Windows. Il en va de même pour WinProc( ).

Remarques : L'API Windows n'est pas spécialement conçue pour Visual C++, ni pour le C++ de manière générale. Elle doit pouvoir être utilisée dans des programmes écrits dans une variété de langages, dont la plupart ne sont pas orientés objet.

Code complet d'un programme Windows pour créer une fenêtre




Résultat :


Avantages apportés par l'utilisation des MFC et de AppWizard

Vous pouvez constatez la complexité du code rédigé pour afficher une simple fenêtre. Imaginez pour une fenêtre plus complexe avec plusieurs boutons,etc...
Le but de cet article n'étant pas de vous apprendre les subtilités de ce code, nous ne nous attardons pas sur des explications relatives à ce sujet.
En effet, l'assimilation des notions concernant la création et l'affichage d'une fenêtre, la boucle de messages et l'analyse des messages transmis à une application sont tous inclus dans le code que Visual C++ peut générer automatiquement.
Visual C++ présente les fonctions de l'API Windows selon une approche orientée objet et facilite l'utilisation de l'interface (API) en proposant davantage de fonctionnalités par défaut sous une forme beaucoup plus structurée et conviviale grâce à la bibliothèque Microsoft Foundation Classes ou MFC.
Visual C++ offre des outils de développement : AppWizard, ClassWizard, pour simplifier l'édition et la gestion de notre code. Nous détaillerons ces outils dans la suite de l'article.

Suite de l'article

Sommaire
Partie 1 - Structure d'un programme Windows
Partie 2 - Les MFC et les outils de développement proposés par Visual C++
Partie 3 - Création d'un agenda grace aux MFC



En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft