Vous cherchez à développer avec Visual Studio en C++ et pourquoi pas ? On va voir ce que l'on peut faire avec cette plateforme et ses outils de développement. Comment utiliser Visual Studio pour développer en C++ ?
Installation des modules Visual Studio pour le C++
Avec Visual Studio 2017 en lançant l'installeur nous avons la possibilité d'installer trois modules :
|
Développement Desktop en C++ avec Visual Studio |
Mais nous avons la possibilité de développer pour les plateformes mobiles iOS et Android et Windows phone :
|
Développement mobile en C++ avec Visual Studio |
On voit également un module pour Linux.
Mon projet en C++ pour Desktop avec Visual Studio
J'instancie un projet de type Visual C++ pour créer une application avec Interface Graphique utilisateur qui s'exécute sous Windows.
Fichier->Nouveau->Projet->Autres langages->Visual C++->Application de bureau
|
Application de bureau Windows en C++ |
Le projet est instancié :
|
Projet Visual Studio en C++ |
Je l'exécute :
|
Exécution du projet C++ avec Visual Studio |
Une toute petite interface avec un tout petit menu.
Structure du projet Visual C++
Il faut aller voir dans les ressources pour trouver les objets graphiques, dans l'explorateur de solution je clique sur WindowsProject1.rc :
|
Visual C++ les ressources du projet |
En double cliquant sur IDD_ABOUTBOX je retrouve la boite de dialogue About :
|
Boite de dialogue About |
Tout ça est bien joli mais il n'y a pas les MFC. Je retourne dans l'installeur et je coche la case :
|
Installation des MFC pour Visual C++ |
Et maintenant j'instancie un nouveau projet avec MFC (Microsoft Foundation Class) :
|
Application de bureau Windows avec MFC en C++ |
En cliquant sur OK je tombe sur un véritable Wizard de configuration de mon Application MFC :
|
Application de bureau avec MFC - Type d'application |
|
SPA - MDI ? |
Puis les choix s'enchainent ...
|
Choix pour le style du projet |
Et encore des choix :
|
Documents composés |
Puis en cliquant sur le bouton suivant, on progresse dans le Wizard :
|
Propriétés du modèle de documents |
On atteint maintenant les choix concernant l'interface utilisateur :
|
Fonctionnalités de l'interface utilisateur |
Ces choix sont importants, il est primordial de définir ces choix au départ car il sera ensuite bien difficile d'implémenter des barres de défilement si vous n'avez pas fait ce choix au départ.
On progresse ...
|
Fonctionnalités avancées |
On progresse ...
|
Classes générées |
On progresse
|
Classes de base |
C'est incroyable tous les choix qu'il faut faire pour utiliser les MFS avec Visual C++.
On instancie le projet ...
Structure du projet Visual C++ MFC
C'est un peu plus compliqué ...
|
Visual Studio C++ Projet MFC |
A l'exécution on obtient une application d'une complexité ... superbe !
|
Template d'application Visual C++ MFC |
Dont l'icône est :
|
Ajouter une légende |
Pour la suite, je vous laisse avec un peu d'anglais
MFC - Quick Guide
Voici un Guide Tuto très complet sur le développement d'application de type MFC avec Visual C++
L'essentiel :
Votre application dérive de
CWinApp : Class pour les Applications Windows
Developpez.com - Démarrer avec les MFC sous Visual C++
Egalement très bien pour démarrer, le problème c'est que c'est un PDF et pour le consulter il faut le télécharger. Le style est un peu ancien 2005 !
Accès aux ressources de l'application
Dans "Explorateur de solution" en cliquant sur le fichier .rc, la fenêtre d'affichage des ressources s'ouvre :
|
Affichage des ressources de l'application |
Le code C++ au démarrage de l'application MFC
Dans l'Explorateur de solutions dans Fichiers sources : MainFrm.cpp (Main Frame) on atteint le code exécuté au démarrage de l'application :
|
Main Frame de l'application MFC C++ |
En mettant un point d'arrêt dans la fonction
OnCreate de
CMainFrame :
|
Exécution du code de démarrage de l'application |
Dans la pile d'appels on est appelé par wincore.cpp :
|
Appel de OnCreate par WindowProc de wincore.cpp |
On accède au code de création de l'application MFC pour modifier ajouter ou supprimer des éléments graphiques de l'application.
Les MFC Microsoft Foundation Class
Les Microsoft Foundation Class ont donné des cauchemard à des générations entières de développeurs tellement abscons ! Il me faut prendre ici quelques notes en provenance du document :
ftp://ftp-developpez.com/farscape/tutoriels/demarrer-mfc-vc6.pdf
La notation hongroise, cela m'avait échappé en effet ...
|
C++ MFC notation hongroise |
Ce PDF est véritablement le moyen de démarrer avec les MFC. C'est dommage que depuis le temps Microsoft n'ait pas proposé une alternative simple aux MFC. On ne peut pas parler de RAD (Rapid Application Development) avec les MFC c'est fastidieux long et pénible de développer avec ça.
Voilà c'est tout pour l'instant, c'était pour fixer rapidement les idées autour des applications Visual C++ avec MFC pouvoir modifier une ressource changer un peu le code au départ.
Conseil sur les MFC
Vous souhaitez développer une application Desktop pour Windows utilisez plutôt les WinForm C# c'est tellement plus agréable et efficace.
Have fun!