App multie document

Signaler
Messages postés
12
Date d'inscription
mercredi 19 novembre 2008
Statut
Membre
Dernière intervention
1 septembre 2009
-
Messages postés
12
Date d'inscription
mercredi 19 novembre 2008
Statut
Membre
Dernière intervention
1 septembre 2009
-
La! je clame grave, je me suis acheter un livre "C++ le guide complet" dans ce livre il démontre des exemple de handle a multiple constructeur "surcharge" . mais dans un de leur projet d'exemple le handle ne choisie pas le constructeur approprier mais bien les deux, alor imposible de compiler la solution. il essais de construre les deux avec les argument inadéquoi!! jutilise vs express 2008 (C++\CLI avec .net 3.5) incluant gdi+

FenetreApp.h

private: System::Void Fichier_NouveauDocument(System::Object^  sender, System::EventArgs^  e);
private: System::Void Fichier_Ouvrir(System::Object^  sender, System::EventArgs^  e);

FenetreApp.cpp
#include "stdafx.h"
namespace Gouache {
    ref class FenetreApp;
    ref class Document;
    ref class Vue;
}
using namespace System::IO;

#include "FenetreApp.h"
#include "Document.h"
#include "Vue.h"
#include "TailleImage.h"

/*...*/
Void FenetreApp::Fichier_NouveauDocument (Object^ sender, EventArgs^ e){
        TailleImage^ taille = gcnew TailleImage;
        taille->largeur = 450;
        taille->hauteur = 300;
        if (taille->ShowDialog (this) == Windows::Forms::DialogResult::OK) {
            Document^ nouveau = gcnew Document (this, taille->largeur, taille->hauteur );
            listeDocument->Add (nouveau);
        }
    }
Void FenetreApp::Fichier_Ouvrir (Object^ sender, EventArgs^ e){
        OpenFileDialog^ ouvrir = gcnew OpenFileDialog; // Crée une instence de la boite de dialog
        ouvrir->Filter == "Image bitmap | *.bmp";
        ouvrir->InitialDirectory = Environment::GetFolderPath(Environment::SpecialFolder::MyPictures);
        if (ouvrir->ShowDialog (this) == Windows::Forms::DialogResult::OK) {
            Document^ nouveau;
            nouveau = gcnew Document (this, ouvrir->FileNames);
           /listeDocument->Add (nouveau);
        }
    }

Document.h

 using namespace System::Drawing;
using namespace System::Collections;

namespace Gouache {
    public ref class Document {

    private:
        ArrayList^ listeVue;// Liste de vue assosier au Document
        FenetreApp^ app;// Handle disignant la fenetre principale
        String^ pvNomDeFichier;// Chemin d'acces et nom de fichier ou sauvegarder l'image
        String^ pvTitre;// Nom du document

    public:
        Document ( FenetreApp^ app, String^ fichier );// ouvre une image existante
        Document ( FenetreApp^ app, int tailleX, int tailleY );// crée une image vide, de dimensions données
       
        void NouvelleVue ( void );
        //
        property String^ nomDeFichier {String^ get() { return (String^)pvNomDeFichier->Clone();} }
        property String^ titre {String^ get() { return(String^)pvTitre->Clone();} 
    };
}
Document.cpp
/*...*/
Document::Document ( FenetreApp^ app, String^ fichier ) {
        this->app = app; //Mémorise le handle vers la fenétre principal
        //
        // Initialisation des variable
        pvNomDeFichier = fichier;
        pvTitre = Path::GetFileName (fichier);
        listeVue = gcnew ArrayList ();
        NouvelleVue (); // Crée une liste de vue pour le document
    }
    Document::Document ( FenetreApp^ app, int tailleX, int tailleY ){
        this->app = app; //Mémorise le handle vers la fenétre principal
        //
        // Initialisation des variable
        pvNomDeFichier = "";
        pvTitre = "Sans titre";
        listeVue = gcnew ArrayList ();
        NouvelleVue (); // Crée une liste de vue pour le document
    }

Taille.h
/*...*/
public: property int largeur {void set ( int l ) {champLargeur->Text = l.ToString(); }
            int get () {return Int32::Parse(champLargeur->Text);}
            }
public: property int hauteur { void set ( int h ) { ChampHauteur->Text = h.ToString(); }
            int get () {return Int32::Parse(ChampHauteur->Text);}
            }

/* si j'isole chaque constructeur tou vas bien mais l'aplication n'est pas complette et je ne veux pas passer par un event clic. TailleImage es une boite de dialog maison avec deux textbox pour la taille de l'image, le boutton "ok" es en DialugResult : OK.

c'est claire qu'il vas vous falloir plus de detaille pour repondre a ma question. mais je vous en est donner les grande ligne. si vous pencer pouvoir m'aider dite moi ce qu'il vous faut et je vous le shoot.

1 réponse

Messages postés
12
Date d'inscription
mercredi 19 novembre 2008
Statut
Membre
Dernière intervention
1 septembre 2009

oups j'ai abuser du copier/coller il y a deux erreur dans ce que j'ai écrit. jétais en train d'isoler les composant pour debug et il y as des "/" de trop . dsl le reste sa ce lit bien... etk