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 :

[MFC] Impossible de supprimer une fonction que j'ai rajouté


Sujet :

MFC

  1. #21
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    toutes mes CDialog derive de cette classe :

    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
    #pragma once
    #include "afxwin.h"
    #include "resource.h"
     
     
    class CDigiDialog :
    	public CDialog
    {
    private:
    	CBitmap m_Background;	
    	int m_iWidth, m_iHeight;
     
    	BOOL bCTLCOLOR_EDIT,
    		 bCTLCOLOR_LISTBOX,
    		 bCTLCOLOR_STATIC;
     
     
    protected:
    	DECLARE_MESSAGE_MAP()
    	HICON m_hIcon;
    	virtual BOOL OnInitDialog();
    public:
    	UINT IDD;
    	CDigiDialog(UINT nIDTemplate, CWnd* pParentWnd, UINT iIDD_Background);
    	~CDigiDialog(void);
    	//virtual int DoModal();
    	afx_msg void OnMoving(UINT fwSide, LPRECT pRect);
    	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
    	afx_msg void OnPaint();
    	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
     
    	void SetTransparant(UINT uCTLCOLOR, BOOL bTranparant);
    };

    voila ma CDlAccueil :
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    // DlAccueil.h : fichier d'en-tête
    #pragma once
    #include "DigiDialog.h"
    #include "afxwin.h"
    #include <string>
    #include "afxcmn.h"
    #include "ConfigFile.h"
    #include "constante_digitick.h"
    #include "DlListClick.h"
    #include "DlRecapitulatif.h"
    #include "DlMenu.h"
    #include "TransparentBitmapButton.h"
     
    // boîte de dialogue CDlAccueil
    class CDlAccueil : public CDigiDialog
    {
    private:
    	int p_iIDLnfSelectInMenu;
    	CString GetPathApps(void);
     
    	CWinThread *p_threadConnected;
    	BOOL p_bConnected, p_bTested;
     
    	CDigiDialog * p_DlgToPostMsgFromThread;
     
    // Construction
    public:
    	CDlAccueil(CWnd* pParent = NULL);	// constructeur standard
    	virtual ~CDlAccueil();
     
    // Données de boîte de dialogue
    	enum { IDD = IDD_DlAccueil };
     
    	protected:
    	virtual void DoDataExchange(CDataExchange* pDX);	// Prise en charge DDX/DDV
     
     
    // Implémentation
    protected:
     
    	// Fonctions générées de la table des messages
    	virtual BOOL OnInitDialog();
    	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
    	afx_msg HCURSOR OnQueryDragIcon();
    	DECLARE_MESSAGE_MAP()	
     
    public:
    	CConfigFile *CONFIG_FILE;
    	CString PATH_APPS,
    			USER_LOGIN,
    			USER_PASSWORD,
    			sPARAM_TMP;
    	BOOL	USER_KEEP_PASSWORD,
    			m_bVersionTest;
     
     
    	afx_msg void OnEnChangeEditLogin();
    	afx_msg void OnEnChangePassword();
    	afx_msg void OnBnValider();
    	virtual void OnOK();
    	virtual void OnCancel();
    	int AnalyseWebPage(CString csPage);	
    	void RefreshValidState(void);
    	void SetConnexionState(BOOL bState);
    	BOOL IsConnected(void);
     
    	CTransparentBitmapButton m_ButtonValider;
    };
     
    UINT threadFunction (LPVOID pParam);

  2. #22
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    ok,

    et les constructeurs?

  3. #23
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    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
    CDigiDialog::CDigiDialog(UINT nIDTemplate, CWnd* pParentWnd, UINT iIDD_Background)
    {
    	m_Background.LoadBitmap(iIDD_Background);	// lecture bitmap dans les ressources
    	BITMAP InfosBackground;
    	m_Background.GetBitmap(&InfosBackground);	// structure d'informations.
    	m_iWidth  = InfosBackground.bmWidth;
    	m_iHeight = InfosBackground.bmHeight;
     
    	IDD = nIDTemplate;
    	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
     
    	bCTLCOLOR_EDIT = FALSE;
    	bCTLCOLOR_LISTBOX = FALSE;
    	bCTLCOLOR_STATIC = TRUE;
     
    	CDialog::CDialog(nIDTemplate, pParentWnd);
    }
     
     
     
    // Constructeur
    CDlAccueil::CDlAccueil(CWnd* pParent /*=NULL*/)
    	: CDigiDialog(CDlAccueil::IDD, pParent, IDB_BITMAP1)
    	,m_ButtonValider(0,0)
    {
    	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
     
    }

  4. #24
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Voaaaaaaaalà!!!

    Dans le constructeur de la classe fille, il faut appeler le constructeur de la classe mère. Dans ton cas, ça va donner quelque chose comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CDigiDialog::CDigiDialog(UINT nIDTemplate, CWnd* pParentWnd, UINT iIDD_Background)
     : CDialog(pParentWnd)
    { 
    ...
    Note: c'est idem pour la classe CDlgAccueil, et tu l'as bien fais pour celle-là.

    [edit] je n'ai pas vérifié le code que je t'ai mis ici, je ne suis pas sur mon poste[/edit]

  5. #25
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    excellent !

    punaise ! jl'avais pas vu !!!!! tu t'es gavé !

    merci de ton aide acharnée !

    c'est vraiment cool de ta part !!!!!

  6. #26
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    question rapide, dans le destructeur, je dois appeler aussi le destructeur de CDialog ?

  7. #27
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Non, pas besoin d'appeler le destructeur. C'est fait automatiquement.

    En fait, c'est étrange que l'appel au constructeur fut absent dans ton code, car il est généré par visual... D'ailleurs, quand tu as un doute sur ce genre de chose, je te conseille de créer un nouvelle dialog en utilisant l'éditeur de ressources de visual, et de regarder le code qui est généré.

    Content d'avoir pu t'aider

  8. #28
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    Ok merci pour le destructeur et ma faute sur appeler

    ben en fait, je me doutais absolument pas que ca venait de là !
    quand je laissais le domodal, ca marchait et quand je le supprimais, plus rien !

    encore merci !

    nb : je sais pas comment j'ai pu le virer !

  9. #29
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    Citation Envoyé par firejocker
    nb : je sais pas comment j'ai pu le virer !
    peut-être avec la touche supprimer ^^

  10. #30
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    lol

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. impossible de supprimer une image!
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/09/2006, 15h03
  2. Réponses: 1
    Dernier message: 30/12/2005, 17h14
  3. [MFC] Arreter execution d'une fonction
    Par ricky78 dans le forum MFC
    Réponses: 1
    Dernier message: 07/11/2005, 15h52
  4. impossible de supprimer une imprimate réseau
    Par sony351 dans le forum Administration
    Réponses: 4
    Dernier message: 27/10/2005, 12h30
  5. DAO impossible d'utiliser une fonction dans un requete
    Par exter666 dans le forum VBA Access
    Réponses: 10
    Dernier message: 24/09/2005, 17h15

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