résolu [API win32] probleme avec un petit exercice - C - Programmation
Marsh Posté le 15-08-2006 à 09:46:15
Salut !
Ben a mon avis essaye déja de mettre static ta variable EditNotChg
Marsh Posté le 15-08-2006 à 09:51:23
et peut être a tord, mais j'aurrais mis aussi static hEdit...
Marsh Posté le 15-08-2006 à 10:02:04
Non en fait c'est bon je viens de voir :
dans ton code quand tu fait :
Code :
|
c'est normal qu'il t'envoie toujours la MessageBox() : au moment où il reçoit le message WM_CLOSE il fait tout simplement les vérification des deux booléen...
faudrait que tu fasse ça :
Code :
|
pour qu'il t'envoie la MessageBox() que quand le texte est modifié...
Marsh Posté le 15-08-2006 à 14:21:37
Oui , c'est vrés que comme ca , ca dois marché (je n'ai pas encor essayer ) , d'ailleur j'aller le faire au début.
mais je croyai que le teste que j'ai fais et aussi juste , voyons voir :
quand le msg a traiter est WM_CLOSE, on va tester :
si ( le texte n'ai pas modifier ou la répence au msg box est oui ) alors quitter....etc.
ici j'ai utiliser le ou qui est commr ca "||" , et pas comme ca "|" , et c'est la qu'il y a une differance:
quand en fais par exemple:
P | Q ==> là les deux condition P et Q sont évaluer .
mais quand on fais:
P || Q ==> là Q n'ai évaluer que si P est FALSE.
/*oui c'est un peut de l'algebre de bool*/
donc dons mon éxemple, quand on texte si le texte n'ai pas modifier et on trouve que c'est vrais (le texte né pas modifier) , on ne va pas texter la 2eme condition (celle du msgBox) .
donc c'est là que ca cloche pour moi
encor merci
Marsh Posté le 15-08-2006 à 15:21:51
non non
méme avec ca :
Code :
|
ca ne marche pas !
il m'afiche toujours le msgBox quoi qu'il en soit.
Marsh Posté le 15-08-2006 à 15:27:21
pour moi déja je trouve que ça serait plus simple si tu déclarait EditNotChg booléen.
ensuite tu le met également static et tu l'initialise a true au début puis a false quand tu détecte le message EN_CHANGE.
Essaye déjà comme ça pour voir...
Marsh Posté le 15-08-2006 à 15:34:50
voici la nouvel procédure
Code :
|
mais mentenant la fenetre ne ce ferme méme pas , quand j'ai initialiser EditNotChg à TRUE
Marsh Posté le 15-08-2006 à 15:38:15
laisse moi devinner : quand tu modifie le texte et que tu ferme tu as la MessageBox() pour quitter (qui marche correctement) mais par contre si tu n'a pas changé le texte et que tu essaye de fermer ça ferme plus...
c'est ça ???
Marsh Posté le 15-08-2006 à 15:51:28
Amonchakai a écrit : laisse moi devinner : quand tu modifie le texte et que tu ferme tu as la MessageBox() pour quitter (qui marche correctement) mais par contre si tu n'a pas changé le texte et que tu essaye de fermer ça ferme plus... |
Oui
Marsh Posté le 15-08-2006 à 15:53:47
regarde de plus près ce qui se passe quand tu veut quitter et que EditNotChg est a true
[edit] un indice : pas de DestroyWindow()....
Marsh Posté le 15-08-2006 à 16:03:23
c'est bon j'ai réglais le probléme
Code :
|
et ca marche
Marsh Posté le 15-08-2006 à 01:06:53
Salut
Je débute en api win 32, et j'ai un petit prob avec un exercice.
Je veut faire en sorte que si on édite le texte et on ferme le fenetre principal , alors un msgBox s'affiche en disant qu'on a éditer le fenetre .
amis le prob c'est que le msgBox s'affiche meme si je né pas éditer le texte .
voici le code que j'ai fais
Merci pour votre aide
Message édité par big_dadi_fat le 15-08-2006 à 19:55:04