Problème d'ajout de Checkbox dans un fenêtre. [Résolu]

Signaler
Messages postés
15
Date d'inscription
jeudi 4 juin 2009
Statut
Membre
Dernière intervention
21 août 2009
-
Messages postés
15
Date d'inscription
jeudi 4 juin 2009
Statut
Membre
Dernière intervention
21 août 2009
-
Bonjour à tous,

Je travaille sur un programme dévellopé sur Visual C++ en unicode et je souhaiterai ajouter divers élements dans une fenêtre. ( Checkbix/Boutons/etc)

J'ajoute la checkbox à ma fenêtre via la boite à outils puis double click dessus afin d'accéder à la programation de son contenu.

Les lignes ajoutées dans mon .h semblent faire planter mon programme.


Voici les erreurs obtenues :
error C2039: 'OnBnClickedCheck1' : n'est pas membre de 'CDlgItemProperties'

error C2065: 'IDC_CHECK1' : identificateur non déclaré
error C2065: 'OnBnClickedCheck1' : identificateur non déclaré
error C2365: 'OnBnClickedCheck1' : redéfinition ; la précédente définition était un(e) 'identificateur précédemment inconnu'
error C3861: 'IDC_CHECK1': identificateur introuvable, même avec une recherche qui dépend de l'argument

Je n'arrive pas à m'expliquer pourquoi il rejette la creation du bouton, les declaration d'entête me semblent juste......

Extrait du code :
// DlgItemProperties.cpp : implementation file---------------------
#include "stdafx.h"
#include ".\dlgitemproperties.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

//code du programme d'origine et la fonction prévue pour la checkbox ajoutée à la fin.

void CDlgItemProperties::OnBnClickedCheck1()
{
// TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
}
---------------------------------------------------------------------



// DlgItemProperties.h : header file---------------------------------
#if !defined(AFX_DLGITEMPROPERTIES_H__7EE277FB_AEB3_4567_9465_39E0BC68B334__INCLUDED_)
#define AFX_DLGITEMPROPERTIES_H__7EE277FB_AEB3_4567_9465_39E0BC68B334__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CDlgItemProperties dialog

class CDlgItemProperties : public CDialog
{
// Construction
public:
CDlgItemProperties(CWnd* pParent = NULL); // standard constructor
.
.
. //délcarations du programme de base
.
.
// Generated message map functions
//{{AFX_MSG(CDlgItemProperties)
virtual BOOL OnInitDialog();
afx_msg void OnWrite();
afx_msg void OnValidValue();
afx_msg void OnSelchangeListValues();
virtual void OnOK();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
afx_msg void OnBnClickedCheck1(); //ligne ajoutées
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DLGITEMPROPERTIES_H__7EE277FB_AEB3_4567_9465_39E0BC68B334__INCLUDED_)

5 réponses

Messages postés
6
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
28 juillet 2009

Je te suggère plusieurs vérifications :
- precompilation des headers : stdafx.cpp a-t-il été compilé ? essaie de le compiler séparément ou fait un build all / régénérer
- recherche de l'identificateur du bouton IDC_CHECK1 : tu devrais le trouver dans resource.h et dans <nom_projet>.rc
- recherche de OnBnClickedCheck1 : en plus de ce que tu donnes plus haut, il devrait apparaître dans le message map, fichier .cpp, à la suite de BEGIN_MESSAGE_MAP(CDlgItemProperties, CDialog) // ...
Messages postés
15
Date d'inscription
jeudi 4 juin 2009
Statut
Membre
Dernière intervention
21 août 2009

Je pense qu'il y a un problème au niveau de la déclaration de la fonction dans ma classe mais je n'arrive pas à mettre le doigt dessus.

afx_msg void OnBnClickedCheck1(); //déclaration
Messages postés
15
Date d'inscription
jeudi 4 juin 2009
Statut
Membre
Dernière intervention
21 août 2009

Messages postés
15
Date d'inscription
jeudi 4 juin 2009
Statut
Membre
Dernière intervention
21 août 2009

Il semblerais qu'il m'est impossible d'ajoutter des variables à la classe correspondant à ma fenêtre grâce au ClassWizard.
Messages postés
15
Date d'inscription
jeudi 4 juin 2009
Statut
Membre
Dernière intervention
21 août 2009

C'est exactement ça, je ne régenerais pas tout mes entêtes.

Merci, ça m'enlève un grand poid, je patinais depuis longtemps ^^"
Là je constate que c'est une grosse erreur de débutant.

Merci pour la lecon !