BIG_BOSS_001
Messages postés75Date d'inscriptiondimanche 10 octobre 2004StatutMembreDernière intervention30 novembre 2005
-
30 juil. 2005 à 14:38
inflamers
Messages postés17Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention14 mai 2007
-
14 mai 2007 à 18:12
Bonjour à tous,
Je viens de créer une application fenêtré en MFC.
J'ai ajouté un bouton nommé : IDC_BUTTON.
J'ai ajouté la méthode OnSize pour repositionner le bouton lorsque la fenêtre est redimensionnée.
J'obtiens donc ce code :
void CtestDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO : ajoutez ici le code de votre gestionnaire de messages
CButton* btn = (CButton*)GetDlgItem(IDC_BUTTON);
btn->MoveWindow(0, 0, 100, 100, FALSE);
delete btn;
}
A la compilation je n'ai aucune erreur mais lorsque j'exécute mon programme j'ai ce message :
Exception non gérée à 0x7c239cca (mfc71d.dll) dans test.exe:0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x00000020.
S'avez vous comment régler ce problème ?
BIG_BOSS_001
Messages postés75Date d'inscriptiondimanche 10 octobre 2004StatutMembreDernière intervention30 novembre 2005 30 juil. 2005 à 16:04
Merci de t'as réponse mais mon application plante toujours.
De plus visual studio me dirige dans un fichier nommé : winocc.cpp à la fonction
void CWnd::MoveWindow(
int x,
int y,
int nWidth,
int nHeight, BOOL bRepaint)
à ce moment visual studio me mets une petite flêche jaune (sur la gauche) sur la première ligne de la fonction qui
void CWnd::MoveWindow(
int x,
int y,
int nWidth,
int nHeight, BOOL bRepaint)
{
ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL)); // Ici la flêche qui se trouve sur la gauche
if (m_pCtrlSite == NULL)
::MoveWindow(m_hWnd, x, y, nWidth, nHeight, bRepaint);
BIG_BOSS_001
Messages postés75Date d'inscriptiondimanche 10 octobre 2004StatutMembreDernière intervention30 novembre 2005 30 juil. 2005 à 22:37
Ok merci,
Alors quand je pointe mon curseur sur la variable pWnd il s'affiche dans une info bulle pWnd = 0x00000000 {CWnd pWnd=???}
Et dans la petite fenêtre il est écrit : Erreur : impossible d'évaluer l'expression
BIG_BOSS_001
Messages postés75Date d'inscriptiondimanche 10 octobre 2004StatutMembreDernière intervention30 novembre 2005 30 juil. 2005 à 23:02
Pourtant...
Dans mon dialog IDD_TEST_DIALOG j'ai mis un bouton avec ID IDC_BUTTON.
De plus dans mes ressources il y est.
Mon fichier ressource contient ceci :
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by test.rc
//
#define IDD_TEST_DIALOG 102
#define IDR_MAINFRAME 128
#define IDR_MENU1 129
#define IDD_ABOUT_DIALOG 130
#define IDC_BUTTON 1000
#define IDC_EDIT1 1001
#define IDC_EDIT2 1002
#define IDC_NAME 1003
#define IDC_OLD 1004
#define ID_PICTURE 1007
#define ID_AIDE_APROPOS 32772
#define ID_EXIT 32773
#define ID_ABOUT 32774
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 133
#define _APS_NEXT_COMMAND_VALUE 32775
#define _APS_NEXT_CONTROL_VALUE 1008
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
D'où mon imcomprehension.
Si tu veux je peux te passer les sources car c'est juste un projet pour m'entrainer à repositionner les contrôles.
Merci,