Programmation Windows Initiation à l’utilisation de Visual C++ Franck Rubi LaBRI Décembre 2000.

Slides:



Advertisements
Présentations similaires
Réaliser en Java un programme client d’une Base de Données
Advertisements

Rappels C.
Formation universitaire à .NET: Introduction à C#
C++ 6ème cours Patrick Reuter maître de conférences
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
MySQL I / Présentation. II / Administration et Outils.
! 1 CREATION D'UNE MAQUETTE EXPORT / IMPORT
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Jc/md/lp-01/06Kernel Tracker1 Debugging Kernel Tracker.
Cours Visual Basic pour Application
Systèmes d’exploitation
Firebug Dévermineur Debugger.
Common Gateway Interface
2ième Classe (Mercredi, 13 Octobre) C++ Intro CSI2572.
TRAITEMENT DE STRUCTURES
Création d'un diaporama Création d'un diaporama
Introduction à la programmation (Java)
- Projet LO43 - Médiathèque
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
1 PROTOTYPE PGC++ Vecteur_3D DÉFINITION. 2 class Vecteur_3D { private : float vx, vy, vz, vw; // Représentation en coordonnées homogènes. public : Vecteur_3D();
Console MMC de Windows 2000 Présenté par Suzanne Savoie Cours 4.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
OpenCV: Introduction au Traitement d’Images et Vidéo
COURS DE PROGRAMMATION ORIENTEE OBJET :
1. 2 Toolkits Il existe 4 principales boites à outils (toolkits) graphiques : –Xt / Motif –Gtk –Windows –Qt Seul certaines fonctionnent sur toutes les.
Héritage Lhéritage permet de spécialiser une classe en définissant une relation de type « est une sorte de ». #include comptebancaire.h class CompteEpargne.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
Masters IIGLI et IGLII – Programmation générique et conception objet – – Claude Montacié 1 Cours n° 4 Polymorphisme II.
Formation C++. Hello World ! #include /* Commentaire sur plusieurs lignes */ int main() { //Affiche hello world std::cout
La librairie assert.h.
PHP & My SQL.
Biologie – Biochimie - Chimie
Programmer en langage c
Programmation Système et Réseau (sous Linux)
Javascript 2° PARTIE : EVENEMENTS ET OBJETS
SPIP SPIP est le système de publication développé par le minirézo.
Cours n°3 rappels. POO-L3 H. Fauconnier2 Entrée-sortie public static void main(String[] args) { // sortie avec printf ou double a = 5.6d ; double b =
La notion de type revisitée en POO
GESTION ET TRAITEMENT DES ERREURS
Android Kévin Giroux.
Notions avancées du C++
Argc et argv Utilisation des paramètres de la ligne de commande.
Autres éléments du langage
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Interfaces graphiques. Composants d'interface utilisateur graphique (GUI) 1 Bibliothèques Awt et Swing Procédures communes pour l'utilisation de ces clases.
Introduction à Visual Studio C++ (VC++)
Entrées / Sorties.
Strings et Tableaux en Java
Utiliser les fichiers d’un ordinateur
Les surcharges d'opérateurs
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
Cours du 5 novembre.
Les classes Introduction aux Langages Orientés Objets
Initiation au JavaScript
6ième Classe (Mercredi, 17 novembre) CSI2572
Création d'un fichier image
Exception Handling "Unfortunately, it's almost accepted practice to ignore error conditions, as if we're in a state of denial about errors." Bruce Eckel.
HbbTvBrowserPlugin U ne utilisation avancée de NPAPI Stanislas Selle 8 Novembre 2011.
Dreamweaver Séance 1.
1 Présentation de DREAMWEAVER (1) Gaël TREMEAU GI05 Printemps 2006.
Dreamweaver MX Jauneau Marie Claude-Antoine Zarate.
DREAMWEAVER Première séance Villaron Audrey – Shibly Tarek.
Flash MX – Séance 2 Interactions & ActionScript David Rapin Si28 P06.
Introduction au HTML Qu’est ce que le HTML ?
FLASH Séance 2 Xiaoliang Liang Morgane Le Nan SI28 P05.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
1 er séance SI28 A2004 YIN Lei Emmanuel Eugene. Plan de l’exposé  Introduction au HTML  Le HTML dans le bloc-notes (notepad)  Présentation de Dreamweaver.
FLASH MX Deuxième exposé. Sommaire  La bibliothèque commune  La bibliothèque projet  Les composants  Le panneau d’actions  Le code  Mise en application.
Informatique 2A Langage C 2 è séance. Objectifs de la séance 2 Début de la modularité avec les fonctions Création d’une première bibliothèque.
Transcription de la présentation:

Programmation Windows Initiation à l’utilisation de Visual C++ Franck Rubi LaBRI Décembre 2000

Franck Rubi, LaBRI2 Première Partie zQuelques rappels de C++ zDécouverte de l’environnement VC++ zDévelopper sous VC++ zGestion de l’interface utilisateur zMFC et Structures de données zSérialisation zExercice: Un mini « paint »

Décembre 2000Franck Rubi, LaBRI3 Quelques rappels de C++ zProgrammation Objet Classes, champs, méthodes, encapsulation zGénéricité Patron de classe « template » zHéritage et Polymorphisme Héritage simple ou multiple, fonctions « virtual » zExceptions Définitions, génération « throw », capture « try, catch »

Décembre 2000Franck Rubi, LaBRI4 Découverte de l’environnement VC++ zModèle classique programmes, bibliothèques, ressources, aides, makefile Plusieurs types d ’applications: yWIN32 Application en mode console API WIN32, fenêtre DOS yWin32 Application API WIN32, fenêtre Windows yProgrammation à l ’aide de la bibliothèque de classes zModèle à base de composants, internet

Décembre 2000Franck Rubi, LaBRI5 Découverte de l ’environnement VC++ zNotion de projet 1 projet = 1 dossier xsources (h,cpp), makefile (dsp,dsw), xressources(rc, ico, rc2) xAides (hpj, bmp, rtf) xreadme.txt xdossiers DEBUG, RELEASE x… Avec dossier debug : plus de 7Mo

Décembre 2000Franck Rubi, LaBRI6 Découverte de l ’environnement VC++ L ’environnement de programmation contient: zUn éditeur de texte avec fenêtre « Workspace » zCompilateur, éditeur de liens zUn outil de debug symbolique puissant zUn éditeur de ressources zDes assistants: yde création de projet (APP WIZARD) yde création de classes, de gestion d’événements,... zUne aide en ligne importante zDifférents outils liés (install shield, visual source safe, …)

Décembre 2000Franck Rubi, LaBRI7 Environnement VC++

Décembre 2000Franck Rubi, LaBRI8 Assistant de création d’application: Découverte de l ’environnement VC++

Décembre 2000Franck Rubi, LaBRI9 Développer sous VC++ 1. Création d ’une application console (fenêtre DOS) // appliconsole.cpp : Defines the entry point for the console application. #include "stdafx.h" int main(int argc, char* argv[]) { printf("Hello World!\n"); return 0; }

Décembre 2000Franck Rubi, LaBRI10 Développer sous VC++

Décembre 2000Franck Rubi, LaBRI11 Développer sous VC++ 2. Création d’une application s’exécutant dans une fenêtre Windows Un extrait: BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // Store instance handle in our global variable hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) {return FALSE;} ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; }

Décembre 2000Franck Rubi, LaBRI12 Développer sous VC++

Décembre 2000Franck Rubi, LaBRI13 Développer sous VC++ 3. Une application utilisant la MFC yBibliothèque de classes de VC Microsoft Foundation Classes yArchitecture document - vue Fichier Objet « Document » Sérialisation Objet « Vue » Affichage Utilisateur

Décembre 2000Franck Rubi, LaBRI14 Développer sous VC++ zUne application MFC - VC++ est: y« Simple document » type bloc-notes y« Multiple document » par exemple Word Disposent d ’une fenêtre principale avec barre de menu classique et barre de boutons. yde type « Dialog », sans manipulation de fichier s ’affiche sous forme d ’une boite de dialogue avec bouton de fermeture.

Décembre 2000Franck Rubi, LaBRI15 Développer sous VC++ 3. Création d’une application MFC en utilisant l ’assistant de création d’application 6 classes créées: CAboutDLG: Boite de dialogue Auteur - Version C…App: La classe principale qui hérite de CWinApp C…Doc: La classe document (Cdocument) C…View: La classe Vue (Cview ou CScrollView) CMainFrame: La fenêtre principale (CMDIFrameWnd) CChildFrame: les fenêtres filles (CMDIChildWnd)

Décembre 2000Franck Rubi, LaBRI16 Développer sous VC++

Décembre 2000Franck Rubi, LaBRI17 Gestion de l’interface utilisateur zGestion événements souris et Dessins yWM_RBUTTONDOWN, WM_LBUTTONDOWN, WM_MOUSEMOVE, … yaffichage d ’une boite simple AfxMessageBox(…) yContexte d ’affichage (texte et dessin) Classes CDC et CClientDC fonctions CDC::TextOut, CDC::MoveTo, CDC::LineTo yEpaisseur et couleur (CPen, COLORREF) zBoites de Dialogue yUtilisation de boites prédéfinies (CColorDialog) yCréation d ’une boite à l ’aide de l’éditeur de ressources zMenu et Barre d’outils

Décembre 2000Franck Rubi, LaBRI18 MFC et structures de données zDes classes génériques pour les structures de données: yTableaux dynamiques: CArray méthodes: GetSize, SetSize, Add, operator[],... yListes: CList et variantes méthodes: AddHead, AddTail, IsEmpty GetHeadPosition, GetNext, RemoveHead,... yTable de Hashage: Cmap méthodes: SetAt( ARG_KEY key, ARG_VALUE newValue ) InitHashTable( UINT hashSize ),...

Décembre 2000Franck Rubi, LaBRI19 Sérialisation zPermet sauvegarde et restauration de manière simple // CAppliMFCDoc serialization void CAppliMFCDoc::Serialize(CArchive& ar) { if (ar.IsStoring()) { // TODO: add storing code here } else { // TODO: add loading code here }

Exercice un mini « paint »