3Sep/140

XOJO : Créer un datepicker / calendrier

Publié par Sébastien dans Développement, XOJO

XOJO est un puissant outil permettant de créer des applications multiplateformes très facilement et surtout, rapidement.

Malheureusement, lorsqu'on souhaite aller un peu plus loin dans l'élaboration de l'interface utilisateur, c'est parfois compliqué, surtout quand XOJO n'intègre pas nativement certaines fonctionnalités.

C'est le cas du «datepicker» par exemple, une fenêtre permettant très simplement de choisir une date et qui n'existe pas de base dans cet éditeur.

Voici quelques explications qui vous permettrons de réaliser votre propre datepicker...

L'exemple du MessageDialog

Réaliser un datepicker nécessite la création d'une fenêtre spéciale. L'idée est de récupérer la date de la même manière qu'on récupère l'option sélectionnée par l'utilisateur dans une fenêtre de dialogue.

dim answer As Integer = DisplayDialog(kTitle, kMessage, kYes, kCancel)

Cet exemple utilise la classe MessageDialog, qui ouvre une fenêtre modale de dialogue affichant un message à l'utilisateur et proposant jusqu'à trois options.

Création du datepicker

Pour créer notre datepicker, nous allons fonctionner quasiment de la même manière, à la différence que nous ne pouvons pas utiliser la méthode «constructor» de la fenêtre contenant notre outil de sélection de date.

La première étape consiste à créer une nouvelle fenêtre : wDatePicker par exemple.

Fenêtre DatePicker réalisée avec XOJO

Fenêtre DatePicker réalisée avec XOJO

Cette fenêtre contiendra une méthode comme celle-ci :

Function pickDate () As Date
self.showModal
self.close
return selectedDate // propriété Dim selectedDate As Date déclarée dans la fenêtre

La commande «self.showModal» permet à la fenêtre de prendre le contrôle, comme le fait une fenêtre de dialogue. L'application passe à la commande «self.close» dès que la fenêtre est cachée, avec la commande «self.hide».

Dans la pratique, dès que l'utilisateur clique sur une date, on va avoir un événement comme celui-ci:

Event MouseDown ()
selectedDate.day = me.text.val // On met à jour la date
self.hide // Permet à la fonction pickDate de renvoyer la date sélectionnée

Il suffira ensuite, là où on souhaite sélectionner une date, d'ajouter un bouton dont l'event «Action» sera comme ceci :

Event Action ()
dim w As new wDatePicker()
dim d As new Date()
d = w.pickDate()

J'espère que cet exemple vous aidera dans la réalisation de votre propre «datePicker» dans XOJO. De la même manière, il est possible ensuite de faire un «monthPicker» si vous souhaitez n'avoir que le mois et l'année par exemple.

Il est également pratique d'ajouter en paramètre de la méthode pickDate la date actuelle pour initialiser la fenêtre datePicker à cette date.

Obtenir mon code

Vous voulez gagner du temps et éviter de réinventer la roue? Si vous êtes intéressés par mon code de datePicker ou de monthPicker, merci de me contacter.

Commentaires (0) Trackbacks (0)

Aucun commentaire pour l'instant


Laisser un commentaire

Notifiez-moi des commentaires à venir via email. Vous pouvez aussi vous abonner sans commenter.

Aucun trackbacks pour l'instant

escort beylikduzu escort istanbul escort bayan escort escort istanbul