Il faut commencer par créer une nouvelle application MFC (Microsoft foundation classes)...
Dans le menu "file" faîtes "new". Selectionnez MFC AppWizard (exe) et donnez un nom à votre projet, par exemple "premier"... On va maintenant définir ce qu'on va utliser dans notre programme. On a le choix entre un programme qui utilise un document, plusieurs documents, ou qui est basé sur une boîte de dialogue. On va choisir pour cette première application de se baser sur une boîte de dialogue, choisissez donc Dialog based.
Dans la fenêtre suivante, on vous demande d'autres informations sur votre application. Voulez vous une boîte de dialogue "A propos de..." (About Box) qui contiendra des informations sur l'auteur et la date de création de l'application? Voulez-vous inclure une aide en ligne? Voulez-vous que la fenêtre est l'air d'être en trois dimensions? etc... Pour l'instant, laissez cette partie comme elle est, vous pouvez changer si vous voulez le titre qui apparaitra dans la boîte de dialogue en mettant par exemple Première application.
Laissez l'écran suivant tel quel également, il veut simplement dire qu'il y aura des commentaire pour vous donner des indications quand vous programmer et que vous accederez aux librairies Microsoft par des DLL... Visual C++ va donc créer deux classes de base qui sont CPremierApp (application Premier) et CPremierDlg (boîte de dialogue Premier). Le C qui se trouve devant les noms de classes signifie simplement qu'il s'agit d'une classe...
Cliquez sur Finish, le noyau de votre application est créé! Pour en être sûr, faîtes Execute Prmier.exe dans le menu Build.
Il vous ouvre ce qu'il a créé, c'est à dire ça:
Il s'agit maintenant de transformer cette boîte de dialogue en ce que nous voulons obtenir.
Le résultat attendu
Nous allons faire une simple application avec deux boutons, le premier ouvrira une boîte avec un message "bonjour" et le deuxième fermera le programme.
Allons-y...
Partie graphique
Votre fenêtre est séparée en trois... Une partie à droite, une à gauche, et une en bas...
Dans la partie de gauche, sur les onglets du bas, cliquez sur RessourceView puis allez dans le repertoire ressouces Premier puis Dialog... Cliquez sur IDD_PREMIER_DIALOG... Supprimez tout ce qu'il y a dans la boîte de dialogue et changez la dans la fenêtre de droite jusqu'à obtenir quelque chose comme ça:
On va maintenant associer du code aux boutons...
Les boutons
Selectionnez le Button1 et cliquez sur le bouton de droite de la souris puis Properties... Changez la partie Caption en "Message". Refaîtes la même opération avec le bouton 2 et changez-le en "Quitter".
Maintenant, votre boîte de dialogue doit ressembler à ça:
On va maintenant associer du code aux boutons...
Selectionnez le bouton "Message", cliquez à droite puis Class Wizard. Une noubvelle fenêtre apparait, celle-ci:
Vous allez pouvoir définir une action associée au bonton... Cliquez sur BN_CLICKED puis Add Function et enfin Ok pour garder le nom qu'il propose. On vient d'ajouter une fonction qui se déclenchera lorsque l'utilisateur cliquera une fois sur le bouton...
Double-cliquez sur OnButton1 dans la fenêtre du bas, il vous amène directement à l'endroit où il faut que vous mettiez le code associé à l'action "clic simple sur le bouton 1". Rajoutez la ligne:
MessageBox("Bonjour!");
Retournez sur la boîte de dialogue (Premier ressources, Dialog) et associons maintenant le code OnOK(); au bouton 2. Je rappelle les différentes étapes:
- Clic droit sur bouton "Quitter". Appel de AppWizard.
- Button2, BN_CLICKED, Add Function, Ok.
- Double-clic sur OnButton2.
- Rajout de la ligne OnOK();
A l'écran, vous devez voir vos deux fonctions comme ceci:
Faîtes Execute Premier.exe dans le menu Build, c'est notre programme... Il est un peu limité, mais bon, ça reste un programme comme un autre, non?