dekkatlon
Messages postés2Date d'inscriptionjeudi 17 juillet 2003StatutMembreDernière intervention19 juillet 2003
-
19 juil. 2003 à 23:53
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 2012
-
28 août 2003 à 22:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 28 août 2003 à 22:42
Probleme résolu grace au sous classement des edit-box.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 20 juil. 2003 à 00:40
Salut,
En effet j'avais deja essayé de resoudre ce probleme, en essayant d'envoyer un message WM_UNDO au control pour effacer la derniere saisie, mais ca m'avait apporte plein d'autres problemes donc j'avais abandonné cette idée.
Sinon pour ta méthode, c'est une bonne idée mais:
1) *p = '' ne se compile pas chez moi (encore ca c'est pas grave, suffit de faire une fonction qui efface le *p actuel et décale la chaine de caractere d'un caractère).
2) A chaque notification de message EN_UPDATE je teste le focus pour savoir si c'est une update de l'USER ou si c'est une update du programe lui meme. Utiliser la fonction SetDlgItemText juste apres la MessageBox genererait une boucle infinie de message EN_UPDATE car le control à le focus (donc plantage).
Pour resoudre ce probleme je crois qu'il faudrais que je revois entierement la structure du prog.
merci encore pour le commentaire!
dekkatlon
Messages postés2Date d'inscriptionjeudi 17 juillet 2003StatutMembreDernière intervention19 juillet 2003 19 juil. 2003 à 23:53
Programme intéressant, j'ai noté un bug suite aux limitations dans la saisie des cars, par exemple si on saisie 'P' dans la zone décimale on a bien un message d'erreur mais le 'P' est quand même intégré dans la zone d'édition. Pour éviter çà on peut ajouter après les MessageBox le code suivant:
*p = ' ';
SetDlgItemText(hDlg, IDC_DEC, szBufToCheck);
28 août 2003 à 22:42
20 juil. 2003 à 00:40
En effet j'avais deja essayé de resoudre ce probleme, en essayant d'envoyer un message WM_UNDO au control pour effacer la derniere saisie, mais ca m'avait apporte plein d'autres problemes donc j'avais abandonné cette idée.
Sinon pour ta méthode, c'est une bonne idée mais:
1) *p = '' ne se compile pas chez moi (encore ca c'est pas grave, suffit de faire une fonction qui efface le *p actuel et décale la chaine de caractere d'un caractère).
2) A chaque notification de message EN_UPDATE je teste le focus pour savoir si c'est une update de l'USER ou si c'est une update du programe lui meme. Utiliser la fonction SetDlgItemText juste apres la MessageBox genererait une boucle infinie de message EN_UPDATE car le control à le focus (donc plantage).
Pour resoudre ce probleme je crois qu'il faudrais que je revois entierement la structure du prog.
merci encore pour le commentaire!
19 juil. 2003 à 23:53
*p = ' ';
SetDlgItemText(hDlg, IDC_DEC, szBufToCheck);
idem pour IDC_HEX et IDC_BIN