begin process at 2012 05 29 12:43:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Modifier les valeurs d'edit box dans une boite de dialog


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

Modifier les valeurs d'edit box dans une boite de dialog

samedi 15 février 2003 à 23:45:44 | Modifier les valeurs d'edit box dans une boite de dialog

Colombus

Bonjour,

J'ai créé une application MFC dans laquelle j'ouvre plusieurs documents (bitmap) qui son traités.
Pour régler les différents paramètres utilisés lors du traitement, j'ouvre des boites de dialogues. Ces boites de dialogue contiennent principalement des edit box et des spin qui me permettent d'incrémenter ces variables.

J'ai ecrit une méthode Display_values() qui doit mettre à jour les editbox de la boite de dialogue.

Lors de l'initialisation la boite de dialogue prend bien les bonnes valeurs. CEpendant lorsqu'on appuie sur le spin, la variable chane effectivement de valeur, mais l'affichage ne suit pas.

Pour ce faire j'associe à l'edit box des variables (m_edit_iteration par exemple). J'ai pensé qu'il suffirait de modifier la valeur de la vairable m_edit_iteration pour que ceci soit mis à jour.. mais comme dit, il ne fonctionne qu'à l'initialisation.

En cherchant sur le net, j'ai eu plusieurs pistes qui ne m'ont menée à rien. (UpdateData, (CStatic*)GetDlgItem suivi de SetWindowText..) mais je me heurte à un problème: SetWindowTExt, etc plantent à la méthode ASSERT(qqchose) car la variable hWnd est nulle (0x0000)..

Quelqu'un a t il une solution ou une piste?

MErci

Colombus
dimanche 16 février 2003 à 01:16:15 | Re : Modifier les valeurs d'edit box dans une boite de dialog (REGLE)

Colombus

Problème réglé:

Nulle part je n'avais lu qu'il fallait faire le DoModal() avant un UpdateData()!

dimanche 16 février 2003 à 10:37:21 | Re : Modifier les valeurs d'edit box dans une boite de dialog (REGLE)

vieuxLion

Bonjour,
un petit peu d'information ne fait pas de mal:

il y a deux parties bien distinctes lorsque l'on travaille avec MFC :
- les objets que l'on crée, à partir d'une CDialog par exemple
CDialog maDlg;
- les ressources Windows (la fenêtre proprement dite) qui est créée par Create(amodale) ou DoModal (modale)

Si tu oublie cette deuxième étape, le Handle windows est null
Attention aussi à détruire proprement les deux parties

avec DoModal ... c'est automatique et l'on ne se préoccupe que de l'objet C++ maDlg

-------------------------------
Réponse au message :
-------------------------------

> Problème réglé:
>
> Nulle part je n'avais lu qu'il fallait faire le DoModal() avant un UpdateData()!
>
>
dimanche 16 février 2003 à 14:46:09 | Re : Modifier les valeurs d'edit box dans une boite de dialog (REGLE ...plus vraiment)

Colombus

Merci bcp vieuxLion. c'est toujours bon à savoir.
Surtout quand on a un autre problème qui se pose ;-)
J'ai le même type de problème qui apparait lorsque l'utilisateur clique sur OK. il refait un updatedata mais manifestement après avoir "désactivé", le domodal... conclulsion le ASSERT ne fonctionne pas.

C'est pas très cool ce que je fais là puisque je poste la question avant de chercher par moi même.. mais je suis à court de temps, sorry. :-(

Merci pour votre aide.
dimanche 16 février 2003 à 15:28:23 | Re : Modifier les valeurs d'edit box dans une boite de dialog (REGLE ...plus vraiment)

vieuxLion

alors je te conseille l'approche modeless :
Créer l'objet C++ CDialog
utiliser Create pour créer la fenêtre Windows
utiliser ShowWindow (true) pour l'afficher / false pour la cacher (mais elle est toujours la si on en a besoin)
utiliser DestroyWindow ...

attention aussi à créer l'objet C++ par new (alloc dynamique sur le tas) et non pas sur la pile
tu pourra mémoriser le pointeur recu comme donnée membre dans ta fenêtre cadre
Et puis à détruire l'objet C++ par delete

-------------------------------
Réponse au message :
-------------------------------

> Merci bcp vieuxLion. c'est toujours bon à savoir.
> Surtout quand on a un autre problème qui se pose ;-)
> J'ai le même type de problème qui apparait lorsque l'utilisateur clique sur OK. il refait un updatedata mais manifestement après avoir "désactivé", le domodal... conclulsion le ASSERT ne fonctionne pas.
>
> C'est pas très cool ce que je fais là puisque je poste la question avant de chercher par moi même.. mais je suis à court de temps, sorry. :-(
>
> Merci pour votre aide.
mardi 4 mai 2004 à 15:17:20 | Re : Modifier les valeurs d'edit box dans une boite de dialog (REGLE ...plus vraiment)

magic_Nono

Membre Club
Bonjour,

Un problème similaire se pose à moi:

je souhaite que les fenetres d'aides de mon soft soient modless,
avant, j'utilisais de MessageBox ou AfxMessageBox,
Existe - t'il des fonctions similaires pour les non modal?

En fait, il me semble lourd de creer une DialogBox (surtout avec Visual) car cela en fixe la taille et l'intéret que je trouvais à MessageBox était de s'adapter...

Merci,

Magic Nono: l'informagicien!


Cette discussion est classée dans : box, edit, modifier, boite, valeurs


Répondre à ce message

Sujets en rapport avec ce message

[VC++] Modifier le texte d'une edit box sur plusieurs lignes... [ par ndj55 ] Salut à tous!Voila,je souhaiterais ecrire dans une edit box une chaine de caracteres,pour cela j'ai le code suivant:strcpy(info,"Prenom:\nNicolas\nAge Modifier la taille d?une Edit Box [ par ThierryAndres ] Salut à tous,Je cherche comment modifier sur un click de bouton la taille d?une Edit BoxEt de manière générale les paramètre graphique d?une Edit BoxM modifier caption (texte) d'une edit box??? [ par alanbraxe31 ] http://membres.lycos.fr/alanbraxe31bonjour tout le monde!je travaille avec le builder de visual c++ car je ne sais pas vraiment programmer en c++, et Changef la couleur d'un Edit box [ par Ifrit235 ] Salut j'aimerai savoir qu'est ce qu'il faut modifier dans ma fonction pour modifier sa couleur. En effet il apparait gris et j'aimerai qu'il soit blan Edit box [ par agora_13 ] Bonjour,J'ai une boite de dialogue dans mon application que j'affiche une première fois avec seulement 2 edit box grisées que j'ai grisée moi meme en modifier la couleur de font d'un edit box [ par imanewin32 ] j'ai besoin d'une fonction pour modifier la couleur de font d'un edit box dans une application MFC, car en le rendant enable tout devient gris et la Edit Box ou CEdit, comment modifier les fontes, etc.. [ par mouloudh ] Bonjour la communauté !Pour ceux qui me reconnaitront, merci beaucoup pour leurs aide !Je travaille toujours sur le même projet, cad un CDialog.J'ai i ecrire dans un edit box en MFC [ par eklouste ] Slt a tous En fait j'ai cree une boite de dialogue avec MFC application ainsi qu'un edit control dans la boite de dialogue. J'aimerais savoir comment edit text dans une fenetre et non une boite de dialogue [ par gregroar ] Bonjour, je n ai trouvé null part d exemple d edit dans une vraie fenêtre et non pas dans une boite de dialogue. Aussi j ai essayé et j ai réussi. Enf Probleme d'EditBox [ par SergentP ] Salut,J'ai créer une fenêtre avec un edit box et je cherche à le redimensionner lorsque un WM_SIZING est envoyé, pour cela jutilise SetWindowPos comme


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,421 sec (4)

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