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

MFC Discussion :

Probl�me avec le tutoriel MFC


Sujet :

MFC

  1. #1
    Membre confirm�

    Homme Profil pro
    automatisme
    Inscrit en
    Octobre 2012
    Messages
    59
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activit� : automatisme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 59
    Par d�faut Probl�me avec le tutoriel MFC
    Bonjour,
    Je suis entrain de m'entrainer avec le tutoriel MFC propos� par Farscape et j'ai un petit probl�me avec un de ses exemples. A la page 62 - 63 il montre comment sauvegarder avec deux boutons (le bouton "enregistrer" que l'on a cr�� et le bouton de sauvegarde dans la toolbar) je pense avoir compris comment �a fonctionne dans les grandes lignes mais j'ai un erreur avec sa fonction
    Code : 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
    bool CSampleSDIView::CanSaveData(bool bSetFocus/*=false*/) 
    { 
        UpdateData(TRUE); // mise a jour des données. 
        // tableau des CString associées aux contrôles 
      CString *parString[]={&m_strNom,&m_strPrenom,         
        &m_strAdresse,&m_strAdresse2,&m_strVille,&m_strCdp  }; 
        // tableau des identifiants correspondant 
        UINT arnId[]={IDC_EDITNOM,IDC_EDITPRENOM, IDC_EDITADRESSE, 
                      IDC_EDITADRESSE1,IDC_EDITCDP,IDC_EDITVILLE }; 
        for(int i=0;i<sizeof(parString)/sizeof(CString *);i++) 
        { 
            // si la chaine est vide 
            if(parString[i]->IsEmpty()) 
            { 
                // on redonne la main en saisie au contrôle en question. 
                if(bSetFocus) GetDlgItem(arnId[i])->SetFocus(); 
                return false; 
            } 
        }   
        return true; 
    } 
     
    void CSampleSDIView::OnUpdateFileSave(CCmdUI *pCmdUI) 
    { 
      // TODO: Add your command update UI handler code here 
      pCmdUI->Enable(CanSaveData()); 
    }
    Visual me dit que la fonction CanSaveData ne prend pas zero argument. Je ne vois pas si il s'agit d'une erreur ou de quelque chose que j'aurais mal fais.

    Si quelqu'un arrive � voir mon erreur je lui en serais tr�s reconnaissant.

  2. #2
    Membre �prouv�
    Avatar de TheGzD
    Homme Profil pro
    Ing�nieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Ing�nieur/ Docteur en Informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par d�faut
    Salut !

    Peut-on voir ton header ?

  3. #3
    Membre confirm�

    Homme Profil pro
    automatisme
    Inscrit en
    Octobre 2012
    Messages
    59
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activit� : automatisme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 59
    Par d�faut
    salut,
    Voici le header :
    Code : 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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    class CtutomfcView : public CFormView
    {
    protected: // création à partir de la sérialisation uniquement
    	CtutomfcView();
    	DECLARE_DYNCREATE(CtutomfcView)
     
    public:
    	enum{ IDD = IDD_TUTOMFC_FORM };
     
    // Attributs
    public:
    	CtutomfcDoc* GetDocument() const;
     
    // Opérations
    public:
     
    // Substitutions
    public:
    	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
    protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    // Prise en charge de DDX/DDV
    	virtual void OnInitialUpdate(); // premier appel après la construction
     
    // Implémentation
    public:
    	virtual ~CtutomfcView();
    #ifdef _DEBUG
    	virtual void AssertValid() const;
    	virtual void Dump(CDumpContext& dc) const;
    #endif
     
    protected:
     
    // Fonctions générées de la table des messages
    protected:
    	afx_msg void OnFilePrintPreview();
    	afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
    	afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
    	DECLARE_MESSAGE_MAP()
    public:
    	afx_msg void OnBnClickedButton2();
    	CString m_strNom;
    	CButton m_ButtonRaz;
    	CEdit m_EditNom;
    	CString m_strPrenom;
    	CString m_strAdresse;
    	CString m_strAdresse1;
    	CString m_strCdp;
    	CString m_strVille;
    	afx_msg void OnBnClickedButtonok();
    	afx_msg bool CanSaveData(bool bSetFocus);
    	afx_msg void OnMajRAZButton();
    	afx_msg void OnBnClickedButtonraz();
    	afx_msg void OnFileSave();	
    	afx_msg void OnUpdateFileSave(CCmdUI *pCmdUI);
    };

  4. #4
    Membre �prouv�
    Avatar de TheGzD
    Homme Profil pro
    Ing�nieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Ing�nieur/ Docteur en Informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par d�faut
    En modifiant la ligne :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    afx_msg bool CanSaveData(bool bSetFocus);
    par :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    afx_msg bool CanSaveData(bool bSetFocus=false);
    �a devrait aller beaucoup mieux je suppose.

    Bon courage pour la suite

  5. #5
    Membre �m�rite
    Homme Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 564
    Par d�faut
    Salut !

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Visual me dit que la fonction CanSaveData ne prend pas zero argument.
    Il faut donc que tu lui indiques un param�tre par d�faut sinon tu ne peux pas appeler la fonction CanSaveData() sans param�tre puisque dans ta d�finition tu lui dit qu'elle prend un param�tre de type bool�en.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    bool CanSaveData (bool bSetFocus = false);

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [androMDA] - quelques probl�mes avec le tutoriel
    Par spidetra dans le forum Maven
    R�ponses: 6
    Dernier message: 31/03/2008, 15h55
  2. R�ponses: 1
    Dernier message: 17/09/2006, 16h31
  3. �norme probl�me avec mon interface MFC
    Par cenedra dans le forum MFC
    R�ponses: 23
    Dernier message: 17/07/2006, 09h36
  4. �norme probl�me avec mon interface MFC
    Par cenedra dans le forum C++
    R�ponses: 2
    Dernier message: 12/07/2006, 09h54
  5. probl�me avec autocompletition ( tutoriel D.cabasson )
    Par kichemans dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 26/04/2006, 13h34

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