Bonjour,
J'ai ajouter un DateTimePicker à une DialogBox via le menu ressource de VC++. Mais j'ai aussi rajouté l'option "show none" qui permet de "cocher" ou "décocher" la date : dans le cas où l'on décoche la date, celle-ci devient grisée et elle n'est pas prise en compte.
J'aimerais récupérer le message qui permet de savoir si cette fameuse case est cochée ou non. Après des recherches, j'ai pu voir qu'il s'agissait d'un message de DTN_DATETIMECHANGE : la variable dwFlags qui vaut GDT_NONE quand la case est décochée et GDT_VALID quand la case est cochée.
Mais je n'ai hélas pas réussi à intercepter ce message : j'ai essayé
J'ai aussi appelé la fonction OnDatetimechangeDatetimepicker1(NMHDR* pNMHDR, LRESULT* pResult)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CWnd* hWndCtrl = GetDlgItem(IDC_DATETIMEPICKER1); hWndCtrl->SendMessage(DTM_SETSYSTEMTIME ,GDT_VALID, 0); mais sans succès j'ai essayé aussi cela : hWndCtrl->SendDlgItemMessage(IDC_DATETIMEPICKER1, DTM_SETSYSTEMTIME ,GDT_NONE, 0);
Mais elle intercepte tous les messages de changement du DateTimePicker (changement de date et case cochée/décochée) Or je ne veux que le message de case cochée/décochée.
J'espère que j'ai été assez clair et que l'on pourra m'aider.
![]()
Partager