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 :

Griser une checkbox


Sujet :

MFC

  1. #21
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Par défaut
    Mais oui justement j'aimerai le mettre sur ce fameux InitDialog !

    Mais je ne le trouve pas.

    C'est le seul probleme que j'ai. Je pense que le reste marche.

  2. #22
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Par défaut
    C'est bon ! Je l'ai trouvé ce OnInitDialog !

    Maintenant, le probleme c'est que la 'formule' pour griser ma checkbox ne fonctionne pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetDlgItem (IDC_MOD_CARA)->EnableWindow (false);
    C'est pas ca ?

  3. #23
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Dans le .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /*virtual */BOOL OnInitDialog();
    Dans le .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void CPilDialog::OnInitDialog()
    {
       CDialog::OnInitDialog();
    blablabla;
         return TRUE;
    }

  4. #24
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par mickou64 Voir le message
    C'est bon ! Je l'ai trouvé ce OnInitDialog !

    Maintenant, le probleme c'est que la 'formule' pour griser ma checkbox ne fonctionne pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetDlgItem (IDC_MOD_CARA)->EnableWindow (false);
    C'est pas ca ?
    Si. Mais qu'est-ce qui ne fonctionne pas ? Compilation? Plantage à l'exécution? Action sans conséquence?
    En debug:
    GetDlgItem retourne un objet valide?
    Comment se déroule EnableWindow ?

  5. #25
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Par défaut
    Bah je lance le programme, je lance ma boite de dialogue. Et la Visual me lance gentiment le choix entre plusieurs debuggeurs, qui ne fonctionnent pas trop.

  6. #26
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Peux-tu montrer ton OnInitDialog?

  7. #27
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Par défaut
    Bien sur :

    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
    BOOL CPilDialog::OnInitDialog()
    {	
    	CString Mod = "DCARA";
    	CString Chemin = Working_Path + Mod; 
     
    	FILE *Module = fopen (Chemin, "r");
     
     
    	if (Module == NULL)//CAS 1 : SI le module n'existe pas on grise la checkbox
    	{
    	//MessageBox("Pas trouvé");
        GetDlgItem(IDC_MOD_CARA)->EnableWindow(false);
    	return(false);
    	}
    	else
    	{
    	MessageBox("Trouvé");
    	return(true);
    	}
     
    }
    Je voulais vous remercier pour le temps que vous prenez à me répondre. Surtout que je ne suis pas très bon, et ça doit être assez insupportable pour vous !

    Merci vraiment !

  8. #28
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Essaie ça :
    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
    BOOL CPilDialog::OnInitDialog()
    {	
            CDialog::OnInitDialog();
    	CString Mod = "DCARA";
    	CString Chemin = Working_Path + Mod; 
     
    	FILE *Module = fopen (Chemin, "r");
    	 
    	 
    	if (Module == NULL)//CAS 1 : SI le module n'existe pas on grise la checkbox
    	{
    	//MessageBox("Pas trouvé");
        GetDlgItem(IDC_MOD_CARA)->EnableWindow(false);
    	return(false);
    	}
    	else
    	{
    	MessageBox("Trouvé");
    	return(true);
    	}
    	
    }

  9. #29
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    __super::OnInitDialog();

  10. #30
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Je ne comprends pas... Tu ne lances pas ton programme en mode Debug depuis Studio ?

  11. #31
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Par défaut
    Non ça bug toujours ...

    Je sais pas pourquoi et ils ne me disent même pas ou j'ai faux, c'est assez insupportable !!

    Mais ce n'est pas la syntaxe de cette ligne qui deconne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetDlgItem(IDC_MOD_CARA)->EnableWindow(false);
    Parce que j'ai regardé sur plusieurs forums, et la syntaxe change tout le temps ... Donc je ne sais pas laquelle prendre!

  12. #32
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Par défaut
    Citation Envoyé par PetitPapaNoël Voir le message
    Je ne comprends pas... Tu ne lances pas ton programme en mode Debug depuis Studio ?
    Sisi, mais il y a plusieurs erreurs avant la mienne qui ont été faites par d'autre développeurs, et je n'ai pas le droit d'y toucher. Je ne suis qu'un stagiaire ... Et donc je ne peux pas accéder au debuggeur de mes erreurs, je sais c'est difficile à comprendre. Mais disons que le debuggeur ne marche pas ! ... lol

    [EDIT] Et puis c'est bien la ligne de 'grisage' de la checkbox qui bug, parce que si je la remplace par une MessageBox, cette dernière apparait, et le programme se lance normalement.

  13. #33
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par mickou64 Voir le message
    Non ça bug toujours ...

    Je sais pas pourquoi et ils ne me disent même pas ou j'ai faux, c'est assez insupportable !!

    Mais ce n'est pas la syntaxe de cette ligne qui deconne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetDlgItem(IDC_MOD_CARA)->EnableWindow(false);
    Parce que j'ai regardé sur plusieurs forums, et la syntaxe change tout le temps ... Donc je ne sais pas laquelle prendre!
    Ben, normalement c'est la bonne ligne. Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(GetDlgItem(IDC_MOD_CARA)==NULL){
        MessageBox(NULL, "Erreur IDC_MOD_CARA!", "Erreur", MB_OKCANCEL);
    }
    else{
        MessageBox(NULL, "OK IDC_MOD_CARA!", "OK", MB_OKCANCEL);
        GetDlgItem(IDC_MOD_CARA)->EnableWindow(false);
    }
    Par où passes-tu?

  14. #34
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Par défaut
    Désolé pour le temps de réponse, mon estomac m'appelé !

    Bah il me lance le MessageBox d'erreur ... Et pourtant l'ID de ma CheckBox est bien : IDC_MOD_CARA...

    [EDIT] C'est bon ca marche !!!! En fait les ID de mes checkbox étaient des nombres et je faisais un #define IDC_MOD_CARA 1000 (le nombre 1000 étant l'ID)

    Sauf que je me suis gouré dans les nombres à chaque fois j'ai oublié une centaine

    Merci pour tout vraiment ! Vous m'avez été d'une grande utilité !!! Je vous remercierai jamais assez !

  15. #35
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par mickou64 Voir le message
    Désolé pour le temps de réponse, mon estomac m'appelé !
    Nécessité biologique que nous partageons
    Citation Envoyé par mickou64 Voir le message
    Bah il me lance le MessageBox d'erreur ... Et pourtant l'ID de ma CheckBox est bien : IDC_MOD_CARA...
    1/Vérifie que dans ton .rc définissant ta boîte de dialogue, tu as bien un bouton avec le même ID.
    2/Vérifie que la valeur IDC_MOD_CARA est bien unique
    3/Es-tu en multi-thread?
    4/Ta boîte de dialogue est-elle dans une dll ou dans l'exécutable?

  16. #36
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Par défaut
    C'est bon ca marche !!!! En fait les ID de mes checkbox étaient des nombres et je faisais un #define IDC_MOD_CARA 1000 (le nombre 1000 étant l'ID)

    Sauf que je me suis gouré dans les nombres à chaque fois j'ai oublié une centaine

    Merci pour tout vraiment ! Vous m'avez été d'une grande utilité !!! Je vous remercierai jamais assez ! *

    PS : Je l'avais deja mi dans un [EDIT] ce message, mais je flood un peu parce que je suis content Merci beaucoup !!

  17. #37
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Ba, au moins t'as pu progresser sur OnInitDialog

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

Discussions similaires

  1. Griser un formulaire à l'aide d'une checkBox
    Par juniordev dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/07/2014, 09h45
  2. Griser un champ text suivant le cochage d'une checkbox
    Par Seb981 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 10/08/2007, 16h47
  3. [HTML] Griser une checkbox
    Par Sancho_54 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/02/2006, 11h38
  4. Comment griser une ligne dans une TListBox ?
    Par SegmentationFault dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/06/2004, 09h15
  5. [struts] mémorisation d'une checkbox avec cookie
    Par rocco dans le forum Struts 1
    Réponses: 3
    Dernier message: 22/04/2004, 12h39

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