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
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|