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.
Version imprimable
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.
C'est bon ! Je l'ai trouvé ce OnInitDialog !
Maintenant, le probleme c'est que la 'formule' pour griser ma checkbox ne fonctionne pas ...
C'est pas ca ?Code:GetDlgItem (IDC_MOD_CARA)->EnableWindow (false);
Dans le .h:Dans le .cppCode:/*virtual */BOOL OnInitDialog();
Code:
1
2
3
4
5
6 void CPilDialog::OnInitDialog() { CDialog::OnInitDialog(); blablabla; return TRUE; }
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.
Peux-tu montrer ton OnInitDialog?
Bien sur :
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 !Code:
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); } }
Merci vraiment !
Essaie ça :
Code:
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); } }
Ou encoreCode:
1
2 __super::OnInitDialog();
Je ne comprends pas... Tu ne lances pas ton programme en mode Debug depuis Studio ?
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 ?
Parce que j'ai regardé sur plusieurs forums, et la syntaxe change tout le temps ... Donc je ne sais pas laquelle prendre!Code:GetDlgItem(IDC_MOD_CARA)->EnableWindow(false);
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.
Ben, normalement c'est la bonne ligne. Essaie ça :
Par où passes-tu?Code:
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); }
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 :oops::oops::oops::oops::oops::oops::oops::oops:
Merci pour tout vraiment ! Vous m'avez été d'une grande utilité !!! Je vous remercierai jamais assez !
Nécessité biologique que nous partageons :mouarf:
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?
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 :D :yaisse2: Merci beaucoup !! :king::mrgreen::mouarf:
Ba, au moins t'as pu progresser sur OnInitDialog :mouarf: