Bonjour,
Je voudrai savoir comment forcer le rafraichissement d'un CEdit après avoir changer sa valeur via la fonction SetWindowText.
Bonjour,
Je voudrai savoir comment forcer le rafraichissement d'un CEdit après avoir changer sa valeur via la fonction SetWindowText.
salut,
c'est inutile...
SetWindowText fait le rafraichissement.
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
oki merci.
mais mon problème est le suivant:
j'ai une liste 1 dans laquelle je selectionne des éléments d'un base.
Lorsque j'en sélectionne un j'affiche des informations dans des CEdit plus d'autre dans une liste 2.
Lorsque j'appui en continue sur la flèche du bas de ma liste 1 ma liste 2 est rafraichi mais pas mes CEdit. Sa le fait également si j'appui vite sur la flèche du bas.
salut
utilises peut être :
Bonne chance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UpdateData(true);![]()
ton problème doit être lié a la vitesse de rafraichissement trop élevée.
encore que j'ai un doute sur le fait que le CEdit n'arrive pas a suivre la cadence.
en fin de sélection l'edit est à jour de la dernière valeur ?
si ce n'est pas le cas c'est l'appel ou la méthode d'appel a SetWindowtext qui est erroné.
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
il est toujours de la dernière valeur.
Pour le taux de rafraichissement je ne fait les test que sur ma machine (peut de RAM) et j'utilise Visual studio 6 SP6
Je vai essayer de faire une liste et juste un CEdit pour voir s'il suit la cadance.
montre nous quand même le code qui correspond a la mise à jour de l'edit.
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Désolé pour hier soir mais j'avai débauché.
Voici le code :
GetIdent() : retourne une CString
Code : Sélectionner tout - Visualiser dans une fenêtre à part m_txtIdent.SetWindowText(m_curObject.GetIdent());
je me doute que tu fais SetWindowText.
ce qui m'intéresse c'est le contexte d'appel de cette fonction..
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Voici la fonction qui est appelé sur le changement de ligne dans ma liste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 //{{AFX_MSG_MAP(CObjectTab) ON_LBN_SELCHANGE(IDC_LST_IDENT, OnListIdentSelChanged) //}}AFX_MSG_MAP void CObjectTab::OnListIdentSelChanged() { int iIndex = m_lstIdent.GetCurSel(); CString strIdent; m_lstIdent.GetText(iIndex, strIdent); CObject Object; bool bIsOk = m_pFunct->SelectAnObject(strIdent, Object, CFunctEditor::ICAO ); if ( !bIsOk ) { CString strErrorObjectSelect; strErrorObjectSelect.LoadString(IDS_ERR_SEL_AIRPORT); AfxMessageBox(_T(strErrorObjectSelect)); return; } ViewObject(Object); }
le setWindowtext est effectué danq quelle fonction ? SelectAnObject ?
on va procéder autrement:
il n'y a pas de boucle dans le code associé a Setwindowtext ?
tu as essayé de mettre un TRACE des valeurs en debug pour vérifier que toutes les valeurs sont affichées correctement ?
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Désolé ce matin je suis pas réveillé.
le SetWindowText est appelé dans la fonction ViewObject() qui permet d'affiché à l'écran toute les information d'un Object (Object c'est pour assuré la confidentialité de mon projet).
il y a une boucle dans la fonction ViewObject permettant d'afficher les SubObject dans la liste2 (Liste étant afficher avant les CEdit)
Je n'ai pas effectué de trace en debug.
on peut voir cette boucle ?
décidément il faut te soutirer au forceps les informations pertinentes
pour infos une boucle empêche les messages de parvenir a l'application
et donc un rafraichissement des contrôles.
voir faq:http://cpp.developpez.com/faq/vc/?pa...rk#PumpMessage
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
La sa va être compliqué car j'utilise la BCG soft pour l'IHM et la liste2 est plustôt une BCGPGridCtrl. C'est pour sa que je donne pas tous le code en une seule fois.
Mais le fait d'avoir commenter la boucle a augmenté la vitesse de rafraichissement des CEdit.
Le principe est de vider la pile/file/queue de message ?pour infos une boucle empêche les messages de parvenir a l'application
et donc un rafraichissement des contrôles.
non,
de dispatcher les messages a destination de l'application.
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
oki Merci de ton aide sa se rafraichie plus rapidement mais pas encore tout le temps. Mais je vai travailler dessus et je finirai bien par trouver.
Par contre j'ai pas bien compris le coup du Dispatché ( question de débutant )
L'appli recoit un ensemble de message qu'elle doit envoyer à la CWnd concerné ?
Partager