CONVERSION DEC / HEX / BIN (WIN 32)

Signaler
Messages postés
2
Date d'inscription
jeudi 17 juillet 2003
Statut
Membre
Dernière intervention
19 juillet 2003
-
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/11096-conversion-dec-hex-bin-win-32

Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Probleme résolu grace au sous classement des edit-box.
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
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!
Messages postés
2
Date d'inscription
jeudi 17 juillet 2003
Statut
Membre
Dernière intervention
19 juillet 2003

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);

idem pour IDC_HEX et IDC_BIN