Application Formulaire avec Visual C++



Documents pareils
Le langage C. Séance n 4

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Connexion à une base de données. Connexion à une base de données. Connexion à une base de données Développement d'une application

Once the installation is complete, you can delete the temporary Zip files..

Comment accéder à d Internet Explorer

Découvrir la messagerie électronique et communiquer entre collègues. Entrer dans le programme Microsoft Outlook Web Access

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

[WINDOWS 7 - LES FICHIERS] 28 avril Logiciel / Windows

1 INTRODUCTION. PowerBuilder - Introduction. Pascal Buguet Imprimé le 19 août 2004 Page 1

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Comment faire un Mailing A partir d une feuille Calc

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Activité 11 : Nuage de points ou diagramme de dispersion

:...2 I.6. :... 2 I.7. :... 2 I.8. :...3 I.9. :... 3 I.10. :... 3 II. 4 II.1.

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

BIRT (Business Intelligence and Reporting Tools)

Introduction à Eclipse

COSWIN MOBILE SERVEUR DE SYNCHRONISATION GUIDE D INSTALLATION

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

Installation de Microsoft Office Version 2.1

Assistance à distance sous Windows

Création d une connexion VPN dans Windows XP pour accéder au réseau local de l UQO. Document préparé par le Service des technologies de l information

Sélection du contrôleur

TwinCAT 3 C++ Création de modules C++ sous TwinCAT 3 VERSION : 1.0 / PH

Construire des plug-ins pour SAS Management Console SAS 9.1

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Procédure d installation d AMESim 4.3.0

Algorithmique et Programmation, IMA

ESPACE COLLABORATIF SHAREPOINT

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Eclipse atelier Java

Exécution de PCCOMPTA à distance sous Terminal Server 2003.

Tutorial et Guide TeamViewer

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

esms Desktop Guide de l utilisateur

Atelier «personnaliser l environnement de l ordinateur mai 2015

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

Contents Windows

wxwidgets dans un environnement Microsoft Windows

SOMMAIRE 1 INTRODUCTION 3 2 CONTACTER VOTRE SUPPORT 3 3 ESPACE DE GESTION DES CARTES 4 4 CONFIGURER UNE CARTE 5

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Création d un service web avec NetBeans 5.5 et SJAS 9

OpenOffice.org Calc Ouvrir un classeur

Tutoriel code::blocks

La base de données XML exist. A. Belaïd

Modes Opératoires WinTrans Mai 13 ~ 1 ~

EXCEL TUTORIEL 2012/2013

1. Démarrage de l ordinateur

Plan du cours. Historique du langage Nouveautés de Java 7

Comment sauvegarder ses documents

Installation et utilisation du client FirstClass 11

MO-Call pour les Ordinateurs. Guide de l utilisateur

Mindjet pour Windows - Guide d utilisation

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

TD/TP 1 Introduction au SDK d Android

Mes premiers diaporamas avec Open Office Impress?

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Installation et compilation de gnurbs sous Windows

Salle Jupiter. Fonctionnement.

La base de données dans ArtemiS SUITE

Numérisation. Copieur-imprimante WorkCentre C2424

UTILISER WORD. Présentation générale de Word. Voici quelques éléments à savoir en démarrant Word.

Prise en main rapide

Guide PME Version

SUPPORT DE COURS ACCESS 2010

Sommaire. 2. L accès aux modules. 1. Aspects techniques. 1.1 Le matériel requis 2

1 Presentation du bandeau. 2 Principe de création d un projet : C2 industrialisation Apprendre Gantt project Ver 2.6 planifier

La Clé informatique. Formation Excel XP Aide-mémoire

Terminal Server RemoteAPP pour Windows Server 2008

Ouvrez un compte Hotmail pour communiquer

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Guide de configuration. Logiciel de courriel

Atelier Le gestionnaire de fichier

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

< Atelier 1 /> Démarrer une application web

Les différents types de relation entre les tables

Guide d installation UNIVERSALIS 2014

Conférence Web sur demande de TELUS Guide de référence rapide

Le Registre sous Windows 8 architecture, administration, script, réparation...

8. Gestionnaire de budgets

Découvrez Windows NetMeeting

SolidWorks edrawings et publications

Rapport de Mini-Projet en ArcGIS Engine

Extended communication server 4.1 : VoIP SIP service- Administration

Créer et partager des fichiers

Service On Line : Gestion des Incidents

Premiers Pas en Programmation Objet : les Classes et les Objets

GUIDE Excel (version débutante) Version 2013

Guide Tenrox R8.7 de configuration de Microsoft Reporting Services

- Université Paris V - UFR de Psychologie ASDP4 Info Introduction à Windows

Transcription:

Application Formulaire avec Visual C++ Présentation Squelette de l application Fenêtre Nous allons développer une application demandant 1 renseignement à une personne et affichant le résultat dans une zone de texte. La question sera la suivante : NOM de la personne, Nous supposerons que l utilisateur ne rentre pas de valeurs incohérentes. Un bouton validation permettra l affichage. Réalisation du squelette Tout d abord, créer un nouveau projet de type Dialog Based, se nommant Formulaire : File -> new puis sélectionner l onglet Projects et taper comme Project name : Formulaire enfin sélectionner MFC AppWizard (exe) puis valider par OK Bien choisir une application Dialog Based. A l étape 2 décocher l option about boxe. Ensuite valider les étapes une à une sans rien changer. On remarquera la création de deux classes : A l étape 4/4, faire Finish : Aller dans la fenêtre Workspace, regarder de manière détaillée le contenu de chacun des onglets : ClassView : RessourceView : FileView : #Niedercorn LT «la Briquerie» 57100 THIONVILLE Programmation Windows : Fenêtre & page 1/7

Réalisation de l interface graphique Mise en place des contrôles Ensuite, nous allons commencer par réaliser l interface graphique de saisie de l information de l utilisateur. Pour cela, dans la fenêtre Workspace, sélectionner l onglet RessourceView : Choisir Fenetre -> Dialog -> IDD_FENETRE_DIALOG, et double cliquer dessus. La zone d affichage propose alors une interface graphique pour réaliser l interface de notre application Dialog Based : Sélectionner les éléments de la fenêtre : A FAIRE : Placer les contrôles de et les boutons OK et Annuler et les supprimer avec la touche Suppr. Puis réaliser la fenêtre suivante : Pour cela, dans la barre d outils Controls, utiliser les éléments suivants : Static Text : texte statique (modifiable et grisable / masquable ) Edit Box : Champs de saisie, Button : bouton Compléments : En cliquant avec le bouton droit sur un contrôle, il est possible de modifier ses propriétés! D autre part, en plaçant le symbole & (et commercial) devant une lettre, on crée une touche de raccourci. Enfin, avec Layout -> Tab Order, on fixe l ordre de tabulation! Tout d abord, avec Layout -> Tab Order, fixer un ordre de tabulation cohérent à travers la fenêtre. #Niedercorn LT «la Briquerie» 57100 THIONVILLE Programmation Windows : Fenêtre & page 2/7

Ensuite, éditer les propriétés de chaque élément, et fixer les valeurs qui suivent : Éléments Propriétés Static Text ID IDC_resultat Caption resultat Edit Box ID IDC_saisie Button ID IDC_valider Caption valider Lorsque la fenêtre est terminée, vous pouvez apprécier son aspect final en lançant Build -> Execute fenetre.exe ou ctrl + F5, ce qui compile l application et la lance en mode de débogage éventuel (le débogueur sera appelé si nécessaire). Création des variables associées à la saisie Maintenant, il faut : associer des variables aux différents champs que l utilisateur peut fixer, associer du code aux boutons pour les rendre opérationnels. Cela se fait avec le ClassWizard : View -> ClassWizard ou ctrl + w. Lancer le ClassWizard, et aller à l onglet Member Variables. En double-cliquant sur chaque variable, entrer les valeurs comme elles apparaissent su l écran suivant : Les variables ainsi définies peuvent être utilisées librement dans notre programme, dans la classe CFenetreDlg gérant la boite principale de dialogue! Création des fonctions associées au bouton Ensuite, il faut associer des fonctions au bouton Valider. Pour cela, passer à l onglet Message Maps du ClassWizard. Cet onglet permet de : sélectionner un objet dans le cadre Object IDs, sélectionner ensuite un message parmi ceux potentiellement générés par cet objet (fenêtre Messages), associer à ce message une fonction qui sera membre de la classe affichée en haut. Pour les identificateurs IDC_VALIDER, et pour le message BN_CLIQUED (bouton cliqué), associer respectivement les fonctions OnValider().Par défaut, ces fonctions sont de type void et ne reçoivent aucun paramètre, ce qui convient : #Niedercorn LT «la Briquerie» 57100 THIONVILLE Programmation Windows : Fenêtre & page 3/7

Le travail le plus ennuyeux et fastidieux est enfin effectué! Maintenant, nous allons pouvoir nous pencher sur le code à implémenter dans la classe gérant la boite de dialogue : CFenetreDlg. Pour cela, dans la fenêtre WorkSpace, sélectionner l onglet ClassView, puis dans l arborescence, trouver : FenetreClasses -> CFenetreDlg -> Onvalider(). Double-cliquer dessus afin d ouvrir le fichier FenetreDlg.cpp et se placer directement dans le bloc de définition de Onvalider(). On remarque que OnValider() se trouve juste à coté! Entrer le code suivant : void CFenetreDlg::Onvalider() CString ssaisie; UpdateData(true); ssaisie=m_isaisie; MessageBox(sSaisie); Test de l application de base Tester en suite l application : ctrl + F5, et vérifier quelle fonctionne bien. Noter les premiers commentaires et impressions sur cette version «bêta». On se propose de modifier le ficher FenetreDlg.cpp comme suit : Observer le résultat et commenter. void CFenetreDlg::Onvalider() CString ssaisie; UpdateData(true); ssaisie=m_isaisie; MessageBox(sSaisie); CFenetreDlg::SetDlgItemText(IDC_resultat,sSaisie); Examen détaillé des fichiers de notre application. Dans la définition globale des classes, on la classe suivant qui représente notre application : theapp dont voici le listing : // fenetre.cpp : Defines the class behaviors for the application. Ci-dessous, l inclusion de fichiers de définitions (header) de notre application. On remarque l entête «stdafx.h» qui nous permet d utiliser des fonctions de l environnement telle que MessageBox. #Niedercorn LT «la Briquerie» 57100 THIONVILLE Programmation Windows : Fenêtre & page 4/7

#include "stdafx.h" #include "fenetre.h" #include "fenetredlg.h" On précise s il y a lieu le fichier de sortie du mode debug. #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = FILE ; #endif On précise, puisque Windows fonctionne par message entre objets, le lien entre la classe CWinApp (le système) et notre classe CFenetreApp. Le message d aide que peut lancer toute application et qui fait appel à la méthode OnHelp de la classe CWinApp. // CFenetreApp BEGIN_MESSAGE_MAP(CFenetreApp, CWinApp) //AFX_MSG_MAP(CFenetreApp) //AFX_MSG ON_COMMAND(ID_HELP, CWinApp::OnHelp) END_MESSAGE_MAP() // CFenetreApp construction La méthode CFenetreApp() de la classe CFenetreApp crée l instance theapp (unique objet basé sur la classe CFenetreApp. CFenetreApp::CFenetreApp() // The one and only CFenetreApp object CFenetreApp theapp; // CFenetreApp initialization La méthode InitInstance() de notre classe CFenetreApp qui définit l apparence des contrôles. On crée un objet dlg de classe CFenetreDlg et ensuite on demande l ouverture de la fenêtre MainWnd de notre application. Chaque fois que l on sollicite cette méthode, on vérifie le dialogue et en cas d échec on ferme l application. BOOL CFenetreApp::InitInstance() // Standard initialization #ifdef _AFXDLL Enable3dControls(); #else #endif Enable3dControlsStatic(); // Call this when using MFC in a shared DLL // Call this when linking to MFC statically CFenetreDlg dlg; m_pmainwnd = &dlg; #Niedercorn LT «la Briquerie» 57100 THIONVILLE Programmation Windows : Fenêtre & page 5/7

int nresponse = dlg.domodal(); if (nresponse == IDOK) else if (nresponse == IDCANCEL) // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; Toujours pour les classes, on voit les définitions : La classe CFenetreApp avec ses deux méthodes utilisées ci-dessus. // fenetre.h : main header file for the FENETRE application #if!defined(afx_fenetre_h 30DBE2BB_7507_4F2B_8016_28DA7144EA2D INCLUDED_) #define AFX_FENETRE_H 30DBE2BB_7507_4F2B_8016_28DA7144EA2D INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #ifndef AFXWIN_H #error include 'stdafx.h' before including this file for PCH #endif #include "resource.h" // main symbols // CFenetreApp: // See fenetre.cpp for the implementation of this class // Définition de la classe CFenetreApp basée sur la classe CWinApp avec ses méthodes CFenetreApp InitInstance. class CFenetreApp : public CWinApp public: CFenetreApp(); // Overrides // ClassWizard generated virtual function overrides //AFX_VIRTUAL(CFenetreApp) public: virtual BOOL InitInstance(); //AFX_VIRTUAL // Implementation ; //AFX_MSG(CFenetreApp) //AFX_MSG DECLARE_MESSAGE_MAP() //AFX_INSERT_LOCATION // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif //!defined(afx_fenetre_h 30DBE2BB_7507_4F2B_8016_28DA7144EA2D INCLUDED_) #Niedercorn LT «la Briquerie» 57100 THIONVILLE Programmation Windows : Fenêtre & page 6/7

La classe CFenetreDlg de notre boîte de dialogue avec ses différentes méthodes et ses données. #Niedercorn LT «la Briquerie» 57100 THIONVILLE Programmation Windows : Fenêtre & page 7/7