|
|
Téléchargez la base en cliquant ici (le fichier zip comprend 2 fichiers: un fichier mdb et un fichier accdb)
Le contrôle DateTimePicker vous permet de fournir un champ de date mis en forme facilitant la sélection de dates. Les utilisateurs peuvent sélectionner une date dans un calendrier déroulant similaire à celui du contrôle MonthView. Le contrôle DateTimePicker fonctionne selon le mode :
Formatage de l'aspect du contrôleVous pouvez personnaliser le calendrier déroulant du contrôle. Différentes propriétés de couleur telles que CalendarBackColor, CalendarForeColor, CalendarTitleBackColor, CalendarTitleForeColor et CalendarTrailingForeColor vous permettent de créer un modèle de couleurs unique. Le déplacement dans le contrôle peut s'effectuer à l'aide du clavier ou de la souris. Le calendrier déroulant est doté de deux boutons qui permettent de faire défiler les mois. Les valeurs de police du contrôle déterminent la largeur et la hauteur du contrôle. L'utilisation de grandes polices entraîne l'agrandissement du contrôle pour recevoir la taille de police choisie. Inversement, vous pouvez choisir une taille de police plus petite pour réduire le contrôle. La taille de police est définie par l'intermédiaire de la propriété Font. Interface clavierLe contrôle DtPicker peut être manipulé au clavier. Le tableau suivant décrit les différentes actions que vous pouvez effectuer avec le contrôle au moment de l'exécution.
Navigation dans le contrôle DtPickerOutre les deux boutons en haut du contrôle, le contrôle DtPicker offre d'autres méthodes pour définir le ou les mois actuellement affichés. Vous pouvez afficher un mois particulier d'une année particulière. Pour sélectionner un mois particulier
Le contrôle affiche le mois sélectionné dans l'année courante. Pour passer directement à une année particulière
Le contrôle affiche le mois courant dans l'année spécifiée.
Commentaires sur l'exemple:L'exemple téléchargé est composé d'un formulaire et d'un état: 1 formulaire à deux contrôles servant de formulaire de dialogue avec les états Le formulaire : Le but de la programmation est de sélectionner une date sur un DtPicker, d'afficher cette date dans un contrôle texte et d'afficher tous les éléments récupérables de cette date ( données encadrées sur le formulaire). Il faudra aussi pour la beauté du geste, modifier l'aspect du contrôle, pouvoir l'agrandir pour les mal-voyants et le diminuer pour ceux qui n'ont plus de place. Déclarations: Dim LadateDebut As DTPicker Procédures: 2 procédures principales: "Form_Load" pour charger les valeurs d'origine "Change" pour traiter la date qui vient d'être modifiée.
Form_Load:Le contrôle a été placé sans paramétrage dans le formulaire. Toutes les propriétés seront modifiées dans cette procédure. Charger LaDateDebut et LaDateFin avec le contrôle DtPicker. les objets ne seront plus redéfinis et pointeront toujours sur le même contrôle.
Set LadateDebut = Me.CtlActiveX1.Object Charger les propriétés du premier contrôle:
Charger la date de début avec la valeur du premier DtPicker: Me.Date_Debut = Me.CtlActiveX1.Value Charger les propriétés du deuxième contrôle:
Charger la date de fin avec la valeur du deuxième DtPicker:
Me.Date_Fin = Me.CtlActiveX2.Value Évènement ChangeL'évènement Change ne provoque pas une sortie du contrôle DtPicker. Un click sur un changement de mois ne provoque pas non plus l'évènement change. Seul un click sur une date valide provoque l'évènement Change. La "value" est chargée sur cet évènement et on pourra l'utiliser et la tester. Me.Date_Debut = CtlActiveX1.Value Évènement CloseUpL'évènement CloseUP est déclanché lors d'un click sur une date
valide (fermeture du calendrier déroulant). Format des datesPar défaut, sans la propriété CustomFormat, le format de la date récupérée dans le contrôle DtPicker sera: dd/MM/yyyy HH:mm:ss Le contrôle DateTimePicker prend en charge les caractères de format suivants :
Vous pouvez ajouter du texte à la chaîne de format. Par
exemple, si vous voulez que le contrôle affiche la date du jour avec le format
suivant : « Date du jour : vendredi 25 juillet 1997 Heure : 13:34 », la chaîne
CustomFormat sera " Un des champs de format personnalisés décrits ci-dessus est un champ de rappel. Un champ de rappel vous permet de personnaliser le résultat obtenu en indiquant certaines parties d'une chaîne de format comme champs de rappel. Pour déclarer un champ de rappel, vous devez inclure un ou plusieurs caractères 'X' (code ASCII 88) dans le corps de la chaîne de format. Les champs de rappel sont affichés de gauche à droite. Lorsqu'une nouvelle date est affichée dans un format qui comprend un ou plusieurs champs de rappel, les événements Format et FormatSize sont déclenchés pour chaque champ de rappel. Vous pouvez utiliser l'événement Format pour indiquer une chaîne de réponse personnalisée, et l'événement FormatSize pour déterminer l'espace nécessaire à l'affichage de la chaîne. Cela vous permet d'avoir un contrôle total sur l'affichage d'un champ de rappel. Chaque suite de X a une signification donnée. Par exemple, X peut signifier « er » (pour « 1er ») et « XX » peut signifier « premier ». Ces champs ne mettent pas en forme le texte de l'utilisateur, mais ils mettent la date en forme. Supposons par exemple que vous vouliez afficher le nom du mois en Français et en Espagnol, comme ci-dessous :
Pour ce faire, créez une chaîne de format semblable à celle-ci :
Lors du traitement des événements Format et FormatSize, vous pouvez vérifier quel champ de rappel est appelé en comparant la chaîne de format de saisie avec « XXXX ». Si les chaînes correspondent, une chaîne de sortie « ( Julio) » peut être créée et sa longueur fournie. Le nombre de X n'est utilisé par une application que pour déterminer le texte à fournir pour un champ de rappel. Lors du traitement de l'événement FormatSize, la taille du texte peut être calculée par programmation. Vous pouvez créer des champs de rappel uniques en répétant le caractère "X". Ainsi, la chaîne de format 'XXddddMMMdd', 'yyyXXX" contient deux champs de rappel. Les champs de rappel sont traités comme des champs valides, et l'application doit donc être prête à traiter des événements Key. |
|