OVH Cloud OVH Cloud

bug settext in edit control

4 réponses
Avatar
news.free.fr
Bonjour,
Je fais un programme de gestion en C avec une interface windows qui
lit/écrit des données dans des fichiers mais je suis actuellement bloqué
parce que j'ai un bug au moment de placer les enregistrements dans des zones
de texte.
S'il y a des programmeurs qui veulent m'aider la source du prog est ici
(20Ko): http://netorld.free.fr/cuma.zip

Je devrais avoir 6 zones de texte remplies de cette façon :

15 | Alain | 0
23 | Robert | 0

Mais ça ne marche pas les zones de texte sont vides
Pourtant quand je clic sur le menu qui permet de réafficher les données
(adhérents/liste) j'obtiens cela :

15 | Robert |
| |

Après avoir mis des contrôles d'erreur du style
if(!SetDlgItemInt(hwnd,10000+3*j,adh.adhnum,TRUE))MessageBox(hwnd,"erreur","
erreur",MB_OK);
j'ai effectivement des erreurs et je n'ai aucune idée de leur cause.
Alors merci à ceux qui voudront m'aider parce que là je rame complètement.

Alain

4 réponses

Avatar
Christian ASTOR
news.free.fr a écrit:

Je fais un programme de gestion en C avec une interface windows qui
lit/écrit des données dans des fichiers mais je suis actuellement bloqué
parce que j'ai un bug au moment de placer les enregistrements dans des zones
de texte.
S'il y a des programmeurs qui veulent m'aider la source du prog est ici
(20Ko): http://netorld.free.fr/cuma.zip

Je devrais avoir 6 zones de texte remplies de cette façon :

15 | Alain | 0
23 | Robert | 0

Mais ça ne marche pas les zones de texte sont vides



1) - Passe hwnd en paramètre de majgraph()
2) - Ton CreateWindow() n'est pas bon, il manque des parenthèses pour
l'ID : (HMENU) (10000+3*j+i)
3) - Ton tableau hwndEdit[] est trop petit (au moins *3 + 1)
Avatar
news.free.fr
Merci pour ta réponse, le problème était en effet du à l'oubli de parenthèse
pour l'ID (HMENU) (10000+3*j+i).
J'avais aussi un autre problème, au lancement du prog rien ne s'affichait
dans les cases pcq l'appel à majgraph() était dans WM_CREATE juste après la
créations des edit controls.
je l'ai placé dans un nouvel évènement WM_SHOWWINDOW et là ça marche!
Je me demande quand même pourquoi on ne peut pas modifier des zones de texte
juste après les avoir créées ?
Avatar
Christian ASTOR
news.free.fr a écrit:

Merci pour ta réponse, le problème était en effet du à l'oubli de parenthèse
pour l'ID (HMENU) (10000+3*j+i).
J'avais aussi un autre problème, au lancement du prog rien ne s'affichait
dans les cases pcq l'appel à majgraph() était dans WM_CREATE juste après la
créations des edit controls.
je l'ai placé dans un nouvel évènement WM_SHOWWINDOW et là ça marche!
Je me demande quand même pourquoi on ne peut pas modifier des zones de texte
juste après les avoir créées ?



Parce que ce n'est pas encore bon.
Comme je t'ai dit ds le 1), soit tu passes hwnd en paramètre, soit, et
c'est même ce qu'il faut faire, tu ne le définis pas 2 fois (global +
WndProc)
Au moment du WM_CREATE, le global est encore à NULL.
Avatar
Christian ASTOR
news.free.fr a écrit:

Merci pour ta réponse, le problème était en effet du à l'oubli de parenthèse
pour l'ID (HMENU) (10000+3*j+i).
J'avais aussi un autre problème, au lancement du prog rien ne s'affichait
dans les cases pcq l'appel à majgraph() était dans WM_CREATE juste après la
créations des edit controls.
je l'ai placé dans un nouvel évènement WM_SHOWWINDOW et là ça marche!
Je me demande quand même pourquoi on ne peut pas modifier des zones de texte
juste après les avoir créées ?



Parce que ce n'est pas encore bon.
Comme je t'ai dit ds le 1), tu passes le hwnd en paramètre, et - c'est
même surtout ce qu'il faut faire - tu ne le définis pas 2 fois (global +
WndProc)
Au moment du WM_CREATE, le global est encore à NULL.