[Débutante]Date picker en edition : gérer la saisie
Bonjour !
Je bataille toujours avec mon satané date picker!. Mon objectif est de permettre la saisie de date simplifiée (genre : 040205 pour 04/02/2005) dans une dialog box via un date picker.
Actuellement je récupère la chaine saisie (grâce à une précédente réponse sur le forum :)) et je l'injecte dans le picker mais quelque chose m'empêche de l'afficher.
1) J'ai créé le "date picker" , avec option "edition", je l'initialise à la date du jour sans problème, il est bien affiché via un "pCtrl->SetTime".
2) Gestion du message en cas d'édition :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
ON_NOTIFY(DTN_USERSTRING, IDC_DATE_DEBUT, OnEditDate)
void xxxx::OnEditDate(NMHDR* pNMHDR, LRESULT* pResult) {
char chaine[80];
CDateTimeCtrl* pCtrl = NULL;
LPNMDATETIMESTRING pNmDATE=reinterpret_cast<LPNMDATETIMESTRING>(pNMHDR);
strcpy(chaine,pNmDATE->pszUserString); // Ok, je recupere bien la saisie
CTime date(...); // Ok, je remplis correctement avec des fonctions perso
pCtrl=(CDateTimeCtrl*) GetDlgItem(IDC_DATE);
pCtrl->SetTime(&date);
*pResult = 0;
} |
Et la rien à faire, mon picker ré-affiche toujours la valeur d'avant édition.
Grrrr :)
J'ai essayé des ruses de sioux débutant :
UpdateData(FALSE);
UpdateData(TRUE);
pCtrl->SetFormat(NULL);
mais ça ne marche pas ...
Toute aide ou conseil sera vivement apprécié, merci d'avance !
Steph.