Bonjour à tous,
J'explique le contexte.
Dans le cadre d'un projet informatique global incluant différentes technologies (Java, JS, VBS, VB6, CobolAS400, etc), j'ai besoin de construire un OCX en VB6 ne contenant qu'un seul 'UserControl' proposant une série de méthodes. Cet OCX est utilisé dans des pages JSP ou dans du VBS.
Parmis les méthodes proposées, je suis en train de réaliser la méthode "AfficherMsgInfos" qui a pour objectif d'afficher une boite d'informations en bas à droite de l'écran, sans aucune action possible de l'utilisateur.
Cette méthode effectue une instance d'une classe "cls_BoiteInfos", alimente les différents attributs et demande d'afficher la boite.
La classe s'appuie sur une form 'frm_BoitesInfos' qui est chargé à l'initialisation de l'instance et déchargé à la destruction de l'instance. La méthode Afficher de la classe effectue simplement un .show.
Pour des raisons que j'ai eu du mal à trouver et à interpréter, depuis un VBS on peut ouvrir exclusivement des fenêtres modales. Donc, la méthode Afficher effectue un .show VbModal.
A l'occasion, si quelqu'un peut m'en dire plus à ce sujet, je suis preneur.
Mon problème est que la fenêtre d'infos a un but uniquement d'informations et donc, je ne veux pas que l'utilisateur ait une action à faire dessus. Je veux que cette fenêtre disparaisse toute seule. Pour cela, j'ai placé un timer que je lance dans la méthode Afficher de la classe et qui prévoit de cacher la form lorsque le délai est écoulé.
Extrait de l'appelant Methode Afficher de la classe cls_BoiteInfos :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 'Préparation du timer qui va déterminer la durée de vis de la fenêtre frm_BoiteInfos.timer_TpsAffichage.Interval = pe_Nb_Secondes '* 1000 'temps en millisecondes frm_BoiteInfos.timer_TpsAffichage.Enabled = True 'Alimentation des données de la fenêtre frm_BoiteInfos.rtxt_Contenu = Contenu 'Affichage de la fenêtre frm_BoiteInfos.Show vbModal
Extrait de la fenetre frm_BoiteInfos affichée en mode modal avec le timer pour la cacher:
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub timer_TpsAffichage_Timer() timer_TpsAffichage.Enabled = False Me.Hide End Sub
Partager