Chers tous,
j'ai un formulaire avec un TDateTimePicker. (BCB6 enterprise) Lorsque l'on change la date, je voudrais effectuer un certain traitement (enregistrer ce qui concerne la date qui était sélectionnée) et annuler la modif en cas d'erreur (remettre la date d'origine dans le TDateTimePicker).
Malheureusement, ca ne marche pas, je ne sais pas remettre la date d'origine après qu'elle aie été sélectionnée.
Cas pour reproduire le souci: simplement essayer de remettre la date à TDate (1,1,1) si une condition est rencontrée dans l'évènement OnChange.
Formulaire:
un checkbox cbError: si checké, il devrait m'empêcher de sélectionner une autre date.
bool m_bIgnoreChange: booléen initialisé à false.
un TDateTimePicker nommé dDate.
J'ai mis le code suivant dans l'évènement OnChange de dDate:
=> cbErrorbox est décoché, je peux mettre la date que je veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
=> je coche cbErrorBox,
* j'ai un messagebox,
* il passe par le code dDate->DateTime=TDate(1,1,1);
* il passe par if (m_bIgnoreChange)
et rentre dans le test (et donc effectue m_bIgnoreChange=false; puis return; )
* et la date affichée reste celle sélectionnée, il refuse de l'initialiser au 1/1/2001 ou a toute autre valeur......, et garde la date que je veux empêcher de sélectionner.
Quelqu'un connait-il une autre solution ou un autre composant plus "utilisable" dans un environnement ou un utilisateur peut se tromper?
Merci,
Alain

 

 
		
		 
        

 
			
			


 
   


 TDateTimePicker "before update"?
 TDateTimePicker "before update"?
				 Répondre avec citation
  Répondre avec citation 
			 
   
Partager