Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~


IconTray

itray.ocx (le programme en VB6 natif) ~  itray.zip (les sources du programme)

Si VB 6.0 n'est pas installé sur votre ordinateur, vous aurez peut-être besoin d'installer les Runtimes VB : DLL VB 6.0 DLL VB 6.0
Les deux DLL suivantes sont, en général, également nécessaires : VB6FR.DLL VB6FR.DLL ~  MSCOMCTL.OCX MSCOMCTL.OCX
(pour NT/2000, à copier dans WINNT\SYSTEM32 - pour 95/98/XP, à copier dans WINDOWS\SYSTEM)

ITray est un composant.

Le composant a cet aspect là :

  • 1 zone picture qui contient l'icône qui apparaît dans la barre des tâches.

Ce composant, à placer sur une feuille lors de la conception d'une application, permet de mettre un icône dans la barre des tâches.

La fonction API Shell_NotifyIcon est le coeur du composant. Avec l'aide de quelques constantes, c'est elle qui permet de travailler sur la barre des tâches. Une constante pour ajouter, une modifier et une dernière pour supprimer l'icône.
Le moins évident ici, est de gérer les messages de retour qui se produisent lorsqu'on clique sur l'icône. On doit passer à la fonction API une structure qui contient une valeur vers une fonction de rappel pour la gestion d'évènement. On pourrait donc mettre en place une technique de sous-classement standard. J'ai, en fait, vu sur le net, une astuce qui consiste à rediriger les évènements souris de l'icône vers une procédure standard VB.
Ainsi, on crée un contrôle PictureBox, et c'est ce dernier, sur son évènement MouseMove, qui receptionne les actions sur l'icône dans la barre des tâches. Le reste n'est que de la programmation classique...

Le composant est vraiment réduit au minimum. Peu de propriétés, peu de méthodes. Son utilisation n'a rien de compliqué.
Une méthode pour afficher l'icône (à vous de gérer la fenêtre, à rendre visible ou non visible), une méthode pour cacher l'icône, une propriété pour le ToolTipText (texte qui s'affiche lorsqu'on passe la souris sur l'icône), une propriété pour l'image (attention, doit être au format ".ICO"), une propriété en lecture seule qui indique si l'icône est affiché ou non.

Pour changer d'icône en cours d'affichage, il faut utiliser dans votre code l'instruction suivante :
Set itrayTest.Picture = LoadPicture("c:\icones\...")

Je pense qu'il y a certainement quelques fonctions de plus à apporter au composant, mais comme toujours, je vous laisse ce plaisir. Amusez-vous bien avec le code suivant...

uIconTray.ctl (. Afficher le code)

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr