begin process at 2012 05 29 07:29:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Gros problème dans une dialogbox


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

Gros problème dans une dialogbox

mercredi 15 mars 2006 à 16:08:25 | Gros problème dans une dialogbox

julien_boss

Luu à tous :

voilà alors je ne comprends pas bien ce qui se passe :

j'ai une boite de dialogue, 2 EDITTEXT qui se suivent dans leur création (je ne sais pas si ca peut jouer), et dans le processus de notification de la boite de dialogue, je fais :

  case WM_COMMAND:
       switch (LOWORD(wParam))
       {
        case IDCANCEL:
             EndDialog(hDlg, 0);
             return TRUE;
        case IDC_NBENTREE:
             decimal = GetDlgItemInt(hDlg, IDC_NBENTREE, &bSuccess, FALSE);
             SetDlgItemText(hDlg, IDC_NBFIN, ConvertFromDec(decimal, unite));
            
             return TRUE;
        case IDC_NBFIN:
        
             SetDlgItemInt(hDlg, IDC_NBENTREE, decimal, FALSE);
             
             return TRUE;
       }
       break;

Donc, dés l'ouverture de la boite de dialogue, ca plante. J'ai réussi à retrouver la source du pb : apparament, je ne pourrais pas garder la ligne rouge et la ligne bleue en meme temps. L'une sans l'autre, ca passe, mais pas les deux. Comment ca se fait ?

merci tout le monde
mercredi 15 mars 2006 à 16:08:57 | Re : Gros problème dans une dialogbox

julien_boss

Désolé pour la taille du texte
mercredi 15 mars 2006 à 16:19:51 | Re : Gros problème dans une dialogbox

BruNews

Administrateur CodeS-SourceS
IDC_NBENTREE est un bouton ???

ciao...
[ Lien ]
BruNews, MVP VC++
mercredi 15 mars 2006 à 16:22:51 | Re : Gros problème dans une dialogbox

julien_boss

non, IDC_NBENTREE est le premier EDITTEXT, et IDC_NBFIN, le second.

En faite, je veux que aussitot que la valeur de IDC_NBENTREE change, la valeur de IDC_NBFIN change en conséquence, et vice verca. Je n'ai pas mis tout le code ici, juste ce qui butte
mercredi 15 mars 2006 à 16:33:37 | Re : Gros problème dans une dialogbox

BruNews

Administrateur CodeS-SourceS
on traite dans event HIWORD(wParam) == EN_CHANGE pour LOWORD(wPARAM) == idEdit.

ciao...
[ Lien ]
BruNews, MVP VC++
mercredi 15 mars 2006 à 16:41:15 | Re : Gros problème dans une dialogbox

julien_boss

Donc mon code deviendrais : 


  case WM_COMMAND:
       switch (LOWORD(wParam))
       {
        case IDCANCEL:
             EndDialog(hDlg, 0);
             return TRUE;
        case IDC_NBENTREE:

            if(HIWORD(wParam) == EN_CHANGE)
            {
             decimal = GetDlgItemInt(hDlg, IDC_NBENTREE, &bSuccess, FALSE);
             SetDlgItemText(hDlg, IDC_NBFIN, ConvertFromDec(decimal, unite));
            }
             return TRUE;
        case IDC_NBFIN:

            if(HIWORD(wParam) == EN_CHANGE)
            {
              SetDlgItemInt(hDlg, IDC_NBENTREE, decimal, FALSE);
            }
             
             return TRUE;
       }
       break;


, c'est bien ca ? si c'est le cas, ca ne marche pas non plus
mercredi 15 mars 2006 à 16:53:39 | Re : Gros problème dans une dialogbox

BruNews

Administrateur CodeS-SourceS
le squelette de la dialogProc est bon, à part les 'return TRUE', doit être 0 hors WM_INITDIALOG et qlq très rare autre cas particulier.

decimal = GetDlgItemInt(hDlg, IDC_NBENTREE, &bSuccess, FALSE);
SetDlgItemText(...) remplace provisoirement cette ligne par un MessageBox pour voir ce qui sort de ConvertFromDec.

ciao...
[ Lien ]
BruNews, MVP VC++
mercredi 15 mars 2006 à 16:58:51 | Re : Gros problème dans une dialogbox

julien_boss

ConvertFromDec() marche parfaitement, en faite il retourne une chaine de caractère qui est le résultat de la conversion d'un nombre décimal vers le binaire. Donc de ce coté là, ca marche.
mercredi 15 mars 2006 à 17:10:44 | Re : Gros problème dans une dialogbox

aardman

Membre Club
Salut,
Y'a une boucle infinie de message, car un SetDlgItemInt() sur un edit provoquera un EN_CHANGE sur cet edit, qui appelera SetDlgItemInt() sur l'autre edit, qui recevra a son tour le message EN_CHANGE, et ainsi de suite.
mercredi 15 mars 2006 à 17:13:00 | Re : Gros problème dans une dialogbox

julien_boss

ah oui bien vu ! alors comment puis-je parer à cela ?


Cette discussion est classée dans : case, boite, hdlg, dialogue, idc


Répondre à ce message

Sujets en rapport avec ce message

objet non initialisé (API Win32) [ par Xs ] salut !voici mon code, d'abord :#include #include #include "resource.h"LRESULT CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam){cha Boite de dialogue non créée [ par melkiorlenecrarque ] Bonjour,voici le code foireux!! c'est le code de base que j'utilse pour créer des programmes à base de boite de dialogue, il marchait tres bien avant [vc++]Plusieurs boite de dialogues [ par shadow1779 ] Bonjour,mon probleme est avec visual c++ en C, si je fais plusieurs dialogbox avec l'editeur de ressource, le probleme est que quand j'en appel plusie Prise en charge des tabulations [ par SAKingdom ] Allo.Ceci est pour les membres club uniquement.Quand on clique sur la petite loupe à droite d'un fichier dans un zip, il ouvre une fenêtre individuell Evenement touche presse sur edit [ par NairodDorian ] Bonjour,Je rencontre un petit blocage avec l'API Win32.BOOL CALLBACK AppDlg(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lparam){switch ( transfert de variable entre boite de dialogue [ par floozbug ] yhoupiYop : bonjour, je développe une application sous visual C++ 6 en mode boite de dialogue.   voici mon problème : je possède une boite de dialogue Boite de dialogue et document [ par Xneo ] Bonjour, je suis en MFC sous VC++ 6.0 et j'aurais aimer savoir si quelq'un savait si on pouvait récupérer un pointeur sur le document ( je suis en SDI fenêtre basculant en arrière-plan [ par by_rabbit_08 ] Bien le bonjourj'ai une simple question:J'ai une boite de dialogue qui appelle un Thread et qui lui passe en paramètre son handle (de la boite de dial gérer la taille des boite de dialogue [ par myckie ] Bonjour, voilà je code un programme qui doit s'executer en plein écran.Le problème, c'est que le code que j'ai trouvé ne permet pas à la boite de dial Utilisation de SaveFileDialog en C++ .NET [ par gicel76 ] BonjourJ'ai développé un projet en C++ sous Visual, basé sur une boite de dialogue. Quand l'opérateur quitte le logiciel, ce dernier lui propose d'enr


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,530 sec (3)

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