begin process at 2010 03 21 13:04:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

Problème avec OnKillFocus


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec OnKillFocus

jeudi 28 mai 2009 à 13:02:43 | Problème avec OnKillFocus

rachid1245

Bonjour à tous,

voilà j'ai une fenêtre de dialogue avec plusieurs edits  numérique avec la propriété Tabstop
dans la fonction OnChar je selectionne les caractères qu'il est permis de saisir (des chiffres)
jusque là tout va bien.
Mais comme j'ai des limites à ne pas dépasser, par exemple Editcontrol1 ne doît pas contenir une valeur supérieure à 999, il faut faire un test sur la valeur saisie. Si la valeur est supérieure à 999 j'envoie un messageBox "attention la valeur saisie est invalide veuillez rectifier", une fois sortie de message Box mon contrôle "érroné" retrouve le focus pour rectification de la valeur saisie.
Le problème c'est que si j'effectue ce fameux test dans la fonction OnChange à chaque modification qui donne une valeure invalide je déclenche un messageBox  cela deviens aggaçant il y'a trop de message box.
J'ai pensé mieux faire en testant la valeur saisie seulement une fois au moment ou mon contrôle pert le focus.
pour cela j'ai fait mon test dans le handler OnKillFocus, si la valeur n'est pas bonne seulement à ce moment j'envoie un messageBox.
Mon problème est sûrement bête:  comment redonner le focus au même contrôle après le massage box de l'intérieur de la fonction OnKillFocus.
 Merçi d'avance.
A bientôt.



jeudi 28 mai 2009 à 13:50:12 | Re : Problème avec OnKillFocus

Pistol_Pete

Réponse acceptée !
Salut
Utilise la fonction SetFocus()
A+

____________________________________________________________________________
Mon site internet :
  
[ Lien ]

jeudi 28 mai 2009 à 13:53:27 | Re : Problème avec OnKillFocus

CptPingu

Réponse acceptée !
La manière la plus élégante de faire, n'est effectivement pas de faire apparaître pleins de messages box, mais de faire afficher une sigle (une petite étoile rouge, par exemple) à côté des champs invalides, avec une explication en tooltip.
Pour se faire, tu peux mettre des labels dont le texte est "*" à coté de tes edits numériques, que tu rends invisible. En cas d'erreur, tu rends visibles uniquement ceux nécessaire, et la validation de la form est annulée. Si tout se passe bien, tu peux faire disparaître tous les messages d'erreur, et laisser la validation suivre son cours.
jeudi 28 mai 2009 à 15:11:56 | Re : Problème avec OnKillFocus

rachid1245

Merçi Pistol_Pete
je disais bien qu'il y'avait quelque chose qui clochait
et bien voilà au lieu d'écrire
dans OnKillFocus()
this->SetFocus()
j'utilisais le handler   this->OnSetFocus()
maintenant ca marche avec SetFocus().

Merçi également CptPingu
ta proposition d'utiliser les tooltips pour passer des messages d'erreurs est trés élégante je vais essayer de l'exploiter
Merçi beaucoup
A trés bientôt.



Cette discussion est classée dans : problème, fonction, valeur, saisie, onkillfocus


Répondre à ce message

Sujets en rapport avec ce message

problème retour de valeur [ par totoscill ] Bonjour,J'ai un problème avec une fonction que j'utilise.Elle me sert a compter la valeur du compteur de ma carte d'acquisition et de renvoyé cette va Passer paramètre par CreateThread [ par steroidstinker ] Bonjour,J'ai un petit problème avec un thread. J'utilise WinApi. En fait j'ai une fonction dans un fichier .cpp qui mène à une autre fonction dans un petit problème d'affichage de texte [ par by_rabbit_08 ] Bonsoir!Enfait, j'ai un petit problème lors de l'utilisation d'un trackbar, créé (ou déclaré) avec CreateWindowEx.A chaque fois que l'on déplace le cu Hook et focus [ par krokro6 ] Salut à tous, j'ai un gros problème depuis que j'ai commencé à utiliser les hooks, le problème est le suivant : pourquoi quand j'apelle ma fonction qu Mélange bool / string [ par Roro8883 ] Bonjour à tous !J'ai un problème dans mon code, dans une classe.Voici les lignes posant problème :      int put_value (bool value, string file = "");  Problème avec la fonction callback du timer [ par Arkadias ] Bonjour tout le monde, je suis confronté à un problème de timer.Voila la situation :Dans le cadre d'un projet de conversion de protocole, je récupère Problème avec la copie Shell... [ par shinnokamui ] Bonjour,J'ai un problème avec mon programme C++, qui effectue une copie de fichiers avec l'API win32 en utilisant le Shell (fonction SHFileOperation). Problème d'accessibilité à la valeur d'une propriété via un accesseur [ par billou_13 ] Bonjour,Alors voila, je développe une dll managée en C++.Net et je me trouves confronté à un problème assez bizarre.J'ai une classe Person (la mienne importer une fonction depuis un dll externe [ par Rabbi Jakob ] Bonjour,Je programme en c++ sous visual studio 2005J'ai un petit problème avec ma dll Je dispose d'une dll avec son fichier .lib. Je les ai mis tous l problème avec un socket bloquant [ par Space_Monkey ] Bonjour,Après une journée de recherches, je ne suis pas parvenu à identifier clairement mon problème, j'ai donc décider de poster.J'utilise depuis lon


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales