IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VC++ .NET Discussion :

Comment faire une application Windows avec Visual C++ 6.0


Sujet :

VC++ .NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 7
    Points
    7
    Par défaut Comment faire une application Windows avec Visual C++ 6.0
    Bonjour,

    Comment faire une application Windows avec visuel c++ 6.0

    si quelqu'un peut m'aider avec un petit exemple

    je veut faire une form1 et un boutton1 ...

    Merci pour votre aide

    * Svp Step by step je sait rien faire vraiment

    New project et ....


  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Quels langages maitrises-tu?

    Car déjà sous Visual 6, il y a deux façons principales de faire un programme avec une boîte de dialogue:
    • Avec Microsoft Foundation Classes (MFC), une bibliothèque dont la prise en main peut être difficile surtout si l'on ne sait pas comment ça marche en-dessous. C++ uniquement.
    • Sans MFC, avec les fonctions compatibles C de Windows. Plus verbeux, pas orienté objet (tu moins à la base), mais plus simple à comprendre. C ou C++.

  3. #3
    Expert éminent sénior

    Avatar de Deepin
    Homme Profil pro
    Ingénieur - Chef de projet Modélisation/Simulation
    Inscrit en
    Avril 2004
    Messages
    3 164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Ingénieur - Chef de projet Modélisation/Simulation
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 164
    Points : 51 026
    Points
    51 026
    Par défaut
    Salut,

    As tu au moins regardé les liens qui t'ont été fournis ici ?

  4. #4
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    oui j'ai vu bien sure mais visuel c++ 2008 express édition veut pas s'installer sur

    mon windows sp2 j'ai trouver cette version qui marche ,

    merci j'attends votre aide

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Dans ce cas, choisis entre les deux chemins que je t'ai proposés: Côté clair ou côté obscur? (Je ne te dirais pas lequel est lequel)

  6. #6
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Dans ce cas, choisis entre les deux chemins que je t'ai proposés: Côté clair ou côté obscur? (Je ne te dirais pas lequel est lequel)
    je suis encore en début donc ne rend pas la tache difficile

    on commence par ce que tu veut ou bien par le chemin que tu maîtrise

    plus car j'ai beaucoup de questions et des grand projet a faire et je cherche

    un bon frère pour m'aider

    Merci encore

    on commence par le 1 ère leçon je vous attend

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    même c'est très dure je suis prêt compte sur moi a 100 %

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    OK, alors on va faire sans MFC, avec un code compilant aussi bien en C qu'en C++ (on se limitera donc au sous-ensemble de fonctionnalités communes aux deux langages), car je suis habitué au C et changer en C++ est fastidieux sous Visual 6.
    • Tu dois faire un projet de type "Win32 application", qu'on va appeler "ProjTuto".
    • Choisis l'option "A simple Win32 application", tu obtiendras un projet comprenant trois fichiers et un ReadMe.txt.
    • On va commencer par un simple hello world: Rajoute cette ligne dans la fonction WinMain():
      Code C : Sélectionner tout - Visualiser dans une fenêtre à part
      MessageBox(NULL, TEXT("Bonjour!"), TEXT("Message de Sayler"), MB_OK);
    • Après, compile ton programme:
      • Visual studio a une particularité, c'est que stdafx.cpp doit être compilé avant le reste. Pour ne pas t'embêter avec ça, on va demander à Visual de compiler tout le projet plutôt que de s'occuper individuellement de nos fichiers.
      • Utilise la commande Build->Build ProjTuto.exe. Par défaut la touche de raccourci pour ça est F7. Tu as peut-être aussi une icône pour ça dans la barre d'outils, selon les options. Tu devrais obtenir la sortie suivante:
        Code X : Sélectionner tout - Visualiser dans une fenêtre à part
        1
        2
        3
        4
        5
        6
        7
        8
        --------------------Configuration: ProjTuto - Win32 Debug--------------------
        Compiling...
        StdAfx.cpp
        Compiling...
        ProjTuto.cpp
        Linking...
        
        ProjTuto.exe - 0 error(s), 0 warning(s)
    • Tu peux alors exécuter ton Hello World avec la commande Build->Execute ProjTuto.exe. Le raccourci par défaut est Ctrl+F5, et l'icône dans la barre d'outils est un point d'exclamation rouge sombre.

    On passera à une vraie boîte de dialogue dans la prochaine leçon. En attendant, pose des questions sur tout ce que tu ne comprends pas.

  9. #9
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 7
    Points
    7
    Par défaut c'est ok


    merci pour la première pas et après ou je peut trouver mon exe ?

    comment faire une form1 maintenant ?

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Alors, ton exe est dans le répertoire Debug de ton projet.
    Si tu veux pouvoir l'utiliser sur d'autres ordinateurs, il te faudra le compiler en Release avant.
    Pour changer entre Debug et Release, tu as la commande Build->Set Active Configuration. Mais tu peux aussi avoir une liste déroulante dans la barre d'outils, plus rapide à utiliser.

    Faire une boîte de dialogue est plus compliqué. Mémoriser convenablement des données dedans est compliqué également, c'est pourquoi nous commencerons par la méthode simple. Mais tu vas devoir attendre quelques heures, car je rentre chez moi et j'ai un temps de transports assez long, sans parler du diner.

  11. #11
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Aussi, chez moi je bosse sous 2008 Express, donc il risque d'y avoir des différences. Mais pas trop grandes, j'espère.

  12. #12
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    OK mon frère on a tous temps merci encore je vais essayer d'exécuter

    seulement mon exe sur un autre pc,

    A+

  13. #13
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    bon a propos de exe j'ai fait un copie coller sur flash disk de exe seulement

    que j'ai trouver dans debug et j'ai lancer sur un autre pc il marche

    sans complication

    mon autre pc même le visuel c++ n'est pas installer et ca a marcher

  14. #14
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    j'ai refait l'exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox(NULL, TEXT("Bonjour!"), TEXT("Message de Sayler"), MB_OK);
    Remplacer Par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox(0,"Bonjour!","Message de Sayler",0);
    ca donne la même résultat

    même la button ok je le voi pourtant n'est pas indique comme dans le 1 ere

    exemple

    Merci j'attends votre commentaire et un nouveau leçon comment crée une

    form1 avec le visuel c++ et ajouter des boutons,des labels ....

    merci a demain frère

  15. #15
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Ça compile sans les TEXT(), parce que par défaut Visual 6 ne compile pas en Unicode. Mais si on met les TEXT() dès le début, on n'aura pas à changer le code le jour ou l'on voudra porter l'application.
    Pour le zéro, c'est parce que MB_OK vaut zéro justement. Mais il existe d'autres constantes pour MessageBox(), avec différents effets.

    Pour utiliser une boîte de dialogue en Win32, il y a deux choses principales à faire:
    1. Créer la boîte de dialogue en tant que ressource du programme
    2. Faire le code qui qui contrôle la boîte de dialogue (on appelle ça la "Dialog box procedure", ou DialogProc)


    Pour créer la boîte de dialogue sous Visual 6, il y a apparemment des pièges, mais je crois avoir trouvé une procédure "safe": D'abord, il faut ajouter un script de ressources au projet: Project -> Add to project -> New -> choisir resource script et le nommer "ProjTuto.rc".
    Tu devrais voir une fenêtre contenant juste un dossier, vide. D'un clic-droit sur l'arrière plan, tu devrais avoir un menu avec les options "Insert" et "Import" : Clique sur Insert.
    Une boîte de dialogue apparait, contenant une liste sur la gauche et des boutons à droite. Clique sur "Dialog" dans la liste et fait OK: Une boîte de dialogue presque vide apparait, te voici dans l'éditeur de boîtes de dialogue de Visual. Sauvegarde. La suite un peu plus tard (peut-être demain matin, car là sans Visual 6 sous les yeux je ne suis plus sûr de moi).

  16. #16
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Alors, pour la suite:
    D'un clic-droit sur le projet ProjTuto (dans l'onglet "FileView"), choisis l'option Add files to project. Normalement, dans le dossier du projet, un fichier nommé resource.h vient d'apparaître. Ajoute-le au projet. Tu peux regarder dedans par curiosité (il doit contenir un #define IDD_DIALOG1 avec une valeur), mais ne le modifie pas: L'éditeur de ressources en a besoin.

    Pour faire simple, on va ajouter notre code directement dans ProjTuto.cpp. Il est temps d'écrire une DialogProc basique, qui fermera notre boîte de dialogue si l'on clique sur un bouton:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    BOOL CALLBACK TutoDialogProc(
     HWND hWnd,     //[in] Handle de fenêtre de la boîte de dialogue
     UINT uMessage, //[in] N° de message.
     WPARAM wParam, //[in] Valeur dépendante du message
     LPARAM lParam  //[in] Valeur dépendante du message
     ) //Retourne TRUE si la fonction a traité elle-même le message.
    {
    	INT_PTR ret = TRUE;
    	switch(uMessage)
    	{
    	case WM_COMMAND: //Clic sur un bouton
    		EndDialog(hWnd, 42);
    		break;
    	default:
    		//Indique qu'on n'a pas traité le message,
    		//il faut donc que le système le fasse pour nous.
    		ret = FALSE;
    	}
    	return ret;
    }
    À chaque fois qu'il se passera quelque chose sur la boîte de dialogue (on appelle ça un "message", cette fonction sera appelée automatiquement. Avec ce code, on laisse le système traiter tous les messages, sauf celui qui nous intéresse: Le clic sur un bouton (en réalité, WM_COMMAND agit aussi pour d'autres contrôles, mais pour l'instant on n'a que des boutons donc ça n'est pas grave). Si la bouton se termine, on ordonne la fin de la boîte de dialogue.

    Tu remarqueras le paramètre de type "HWND": C'est ainsi que Windows identifie toutes les fenêtres (une boîte de dialogue est une fenêtre d'un type particulier). Pour finir la boîte de dialogue, on doit passer ce même handle à la fonction EndDialog().

    Note: C'est là qu'on voit un des problèmes de Visual 6: Tu vois le type de retour BOOL? Sur tout système récent, ça devrait être INT_PTR à la place. Mais Visual 6 ne l'accepte pas et gueule, donc on est obligé de mettre BOOL jusqu'à ce qu'on ait un Visual plus récent qui marche.


    À présent, il reste la touche finale: Utiliser notre boîte de dialogue.

    Pour commencer, ajoute #include "resource.h" juste en-dessous de l'autre #include. Puis, remplace l'appel à MessageBox() par ceci:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, TutoDialogProc, 0);
    Tu peux voir que ce code fait à la fois référence à la procédure de boite de dialogue et à son ID de ressource.
    Compile et exécute, la boîte de dialogue devrait apparaître, et se fermer quand tu cliques n'importe quel bouton.

  17. #17
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Une petite touche à propos de la valeur 42 qu'on passe à EndDialog: Modifie légèrement ton WinMain pour retourner la valeur retournée par DialogBoxParam. À la fin, tu devrais avoir un code ressemblant à ceci:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    // ProjTuto.cpp : Defines the entry point for the application.
    //
     
    #include "stdafx.h"
    #include "resource.h"
     
    BOOL CALLBACK TutoDialogProc(
     HWND hWnd,     //[in] Handle de fenêtre de la boîte de dialogue
     UINT uMessage, //[in] N° de message.
     WPARAM wParam, //[in] Valeur dépendante du message
     LPARAM lParam  //[in] Valeur dépendante du message
     ) //Retourne TRUE si la fonction a traité elle-même le message.
    {
    	INT_PTR ret = TRUE;
    	switch(uMessage)
    	{
    	case WM_COMMAND: //Clic sur un bouton
    		EndDialog(hWnd, 42);
    		break;
    	default:
    		//Indique qu'on n'a pas traité le message,
    		//il faut donc que le système le fasse pour nous.
    		ret = FALSE;
    	}
    	return ret;
    }
     
    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)
    {
    	int ret = DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, TutoDialogProc, 0);
    	return ret;
    }
    À présent, on va exécuter le code dans le debugger avec la commande Build -> Start Debug -> Go (raccourci: F5).
    L'affichage de Visual devrait changer, et la boîte de dialogue apparaître. Ferme-là. L'affichage de Visual devrait redevenir normal, et tu devrais voir du texte dans la fenêtre de sortie de Visual. Les deux dernières lignes devraient ressembler à ceci:
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    The thread 0x1234 has exited with code 42 (0x2A).
    The program 'D:\...\ProjTuto\Debug\ProjTuto.exe' has exited with code 42 (0x2A).
    Le "code 42" est celui qu'on a passé à EndDialog(), retourné par DialogBoxParam(), retourné par WinMain()!

    C'est l'heure des questions à présent, jusqu'à la prochaîne leçon.

  18. #18
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Bonjour ,

    merci pour votre simple explication j'ai fait ce que vous m'avez demandez

    j'ai pu ajouter a mon programme "DIALOG1"

    il y a par défaut deux bouton (Ok) et ( Cancel) dans DIALOG1




    J'ai ajouter comme vous voyer dans la photo un bouton1 que je renommer

    Developpez.net et que je souhaite lui donner une fonction d'ouvrir notre page

    de forum ...

    j'attends votre prochain leçon comment faire de lui un exe comment donner

    des fonctions ....

    Merci

  19. #19
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Mon frère tous est bon seulement que j'ai pas ajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, TutoDialogProc, 0);
    parce que ca me donne un erreur sans elle c'est ok

    mon exe maintenant est une "form1" ou il y a 2 bouton ok et cancel

    et les 2 fonctionne parfait quand je click sur un des 2 le programme se ferme

    j'attends la suite ,merci

    exemple: on ajoute une bouton et on le donne une commande d'ouvrir une

    page web notre forum si vous voulez bien

  20. #20
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Quelle est l'erreur avec DialogBoxParam?

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/11/2008, 21h20
  2. Réponses: 4
    Dernier message: 15/12/2007, 15h10
  3. Réponses: 1
    Dernier message: 16/07/2007, 12h49
  4. Développement d'une application Windows (avec visual basic)
    Par visualbasic152 dans le forum VB.NET
    Réponses: 14
    Dernier message: 24/01/2007, 17h23
  5. Réponses: 1
    Dernier message: 03/05/2006, 10h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo