IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[Débutante]Date picker en edition : gérer la saisie


Sujet :

MFC

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [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 : 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;
    }
    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.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    bon c'est vrai que c'st un peu special ce controle ,
    procede comme ça :
    dans ton message met a vrai un booleen (donnée membre de la classe dialog)
    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
    23
    24
     
    void CMDIView::OnUserstringDatetimepicker1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    	// TODO: Add your control notification handler code here
    	LPNMDATETIMESTRING pNmDATE=reinterpret_cast<LPNMDATETIMESTRING>(pNMHDR);
     
    	//AfxMessageBox(pNmDATE->pszUserString);
    	*pResult = 0;
    	m_bOkChangeDate=true;
    }
     
    //ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DATETIMEPICKER1, OnDatetimechangeDatetimepicker1)
    void CMDIView::OnDatetimechangeDatetimepicker1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    	// TODO: Add your control notification handler code here
    	if(m_bOkChangeDate)
    	{
    		CTime date(2006,02,21,0,0,0) ; // Ok, je remplis correctement avec des fonctions perso
    		CDateTimeCtrl* pCtrl=static_cast<CDateTimeCtrl*>(GetDlgItem(IDC_DATETIMEPICKER1));
    		pCtrl->SetTime(&date);	
    	}
    	m_bOkChangeDate=false;
    	*pResult = 0;
    }

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    You are awesome !
    Ca marche du tonnerre !

    Bravo et merci sincèrement.

    Steph

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] date dans un etat
    Par syldudu dans le forum IHM
    Réponses: 22
    Dernier message: 22/09/2006, 16h17
  2. [Batch][Débutant] Date et echo
    Par venomelektro dans le forum Windows
    Réponses: 2
    Dernier message: 19/08/2006, 14h38
  3. [débutant] D6 controle d'edits
    Par faenor dans le forum Delphi
    Réponses: 8
    Dernier message: 26/05/2006, 12h41
  4. Débutant : Date abrégée
    Par delphineleclerc1 dans le forum Access
    Réponses: 3
    Dernier message: 25/01/2006, 10h22
  5. [SWING] Date picker...lequel ?
    Par Neilos dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 30/12/2005, 11h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo