Pb Edit Control

issamery Messages postés 14 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 17 avril 2010 - 17 juin 2009 à 09:46
cs_TeniX Messages postés 118 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 11 décembre 2011 - 19 juin 2009 à 19:51
bonjour,

j'ai une application MDI sous VC++ 2009, j'y ai inseré un chrono, que
je voudrais qu'il s'affiche dans un edit control mis dans un pannel,

Code :
CMFCRibbonEdit* pEdit = new CMFCRibbonEdit(ID_EDIT_CHRONO, 90);
pEdit->SetEditText(_T("00:00:00:00")); //pr initialiser
pPanelSimulation->Add(pEdit);

en suite dans la fonction OnEdit j'ai mis le code suivant:

Code :
CString str;
str.Format(_T("%2u:%2u:%2u:%2u"), heures, minutes, secondes, centiemes);

CMFCRibbonBar* pRibbon = ((CMainFrame*) GetTopLevelFrame())->GetRibbonBar();
ASSERT_VALID(pRibbon);

CMFCRibbonEdit* pEdit = DYNAMIC_DOWNCAST(CMFCRibbonEdit, pRibbon->FindByID(ID_EDIT_CHRONO));
 
pEdit->SetEditText(str);
Invalidate();

mais le problème est que je ne vois des valeurs dans l'édit que
si je clique dessus et je tappe entrée, probablement c'est la méthode
OnEdit() qui crée problème, mais je ne sais pas par quoi la modifier..

je voudrait que je puisse voir les valeurs s'afficher automatiquement sans que je touche à l'Edit.

j'ai m^me essayé avec  CMFCRibonLabel afin d'avoir un champ statique pour l'afficher mais je ne l'ai pas réeussit, je ne sais pas où et comment appeler le bout de code de l'affichage.
Merci pour toute aide

3 réponses

cs_TeniX Messages postés 118 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 11 décembre 2011 2
18 juin 2009 à 19:33
J'utilise pas VC mais en regardant un peut sur msdn :

COleControl::OnEdit
<!--Content type: PSDK_8. Transform: everett2mtps.xslt.--><!---->Causes the control to be UI activated.

virtual BOOL OnEdit(
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect
);
Qui explique que ceci est appellé quand tu active ton control.

Je pense tu n'utilise pas la bonne fonction.

Ciao
0
issamery Messages postés 14 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 17 avril 2010
19 juin 2009 à 13:13
merci pour ta réponse mais je ne sais pas quelle fonction utiliser exactement..
0
cs_TeniX Messages postés 118 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 11 décembre 2011 2
19 juin 2009 à 19:51
A tu pensé a faire crée un Thread ,avec ton Handle en paramètre , et utilisé pourquoi la fonction Sleep() pour le rafraichissement tout les X secs. Ya surement d'autre solution mais sa devrait macher.
Ciao
0
Rejoignez-nous