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 :
Et la rien à faire, mon picker ré-affiche toujours la valeur d'avant édition.
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 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; }
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.
Partager