Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SYSTRAY FACILE : MODULE DE CLASSE


Information sur la source

Catégorie :API Niveau : Débutant Date de création : 18/12/2002 Date de mise à jour : 18/12/2002 22:37:11 Vu / téléchargé: 8 377 / 2 142

Note :
9,71 / 10 - par 14 personnes
9,71 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (30)
Ajouter un commentaire et/ou une note


Description

Module de classe permettan de manipuler très facilement une icone dans la barre des tâches.
 

Source

  • 'Pour instancier l'îcone :
  • dim myicon as new systray
  • 'Pour créer l'icône :
  • myicon.CreateIcon(mafeuille, "titre icone")
  • 'l'icone de mafeuille sera l'icone présente dans la systray
  • 'Pour supprimer l'icône
  • myicon.deleteicon
  • 'Pour changer le titre
  • myicon.titre="mon titre"
  • 'pour changer l'icone
  • myicon.icon=mafeuille
  • 'Pour récupérer le titre de l'icone
  • montitre=myicon.titre
'Pour instancier l'îcone :
dim myicon as new systray

'Pour créer l'icône :
myicon.CreateIcon(mafeuille, "titre icone")
'l'icone de mafeuille sera l'icone présente dans la systray

'Pour supprimer l'icône
myicon.deleteicon

'Pour changer le titre
myicon.titre="mon titre"

'pour changer l'icone
myicon.icon=mafeuille

'Pour récupérer le titre de l'icone
montitre=myicon.titre 

Conclusion

Simple non ?
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Nox le 18/12/2002 23:20:03

pratik, tres pratique... surtout que c tres facile!
9/10

signaler à un administrateur
Commentaire de Clem le 19/12/2002 00:15:25

même chose, pratik, ça évite de se taper un ocx ou un module normal qui obmente la taille du kod.

signaler à un administrateur
Commentaire de cosmic le 19/12/2002 07:17:01

pas mal du tout...
et très léger...

@+ c'est good

signaler à un administrateur
Commentaire de Badclown le 19/12/2002 08:27:22

super et facile a utiliser 9/10

Bon travail

signaler à un administrateur
Commentaire de thepopolinux le 13/01/2003 18:15:03

Je suis le seul con à pas savoir le faire tourner !
ça dois être ma version de merde de VB !

signaler à un administrateur
Commentaire de ennixo le 07/02/2003 12:54:13

c'est excellent !!! par contre tu n'as pas la valeur pour le clic gauche simple stp ?????

signaler à un administrateur
Commentaire de emelaz le 14/03/2003 16:50:41

y aurai moyens d'avoir cette source modifé avec le bouton droit et/ou gauche en plus.......... ca serai sympas car elle est pas mal du tout cette source

signaler à un administrateur
Commentaire de zobyone le 15/03/2003 15:45:52

Ce code est excellentisime. Tres simple a utiliser. et le bouton droit fonctionne a merveille. Ce code s'insert rapidement et proprement. Le top. Merci de l'avoir mis a disposition

signaler à un administrateur
Commentaire de gabchampagne le 16/05/2003 18:49:33

comment on fait pour utiliser des évènements comme un click par exemple

signaler à un administrateur
Commentaire de gabchampagne le 16/05/2003 18:52:31

laissez faire, j'ai trouvé, c facile

signaler à un administrateur
Commentaire de Programmeur1987 le 29/06/2003 16:14:18

Moi sa ne fonctionne pas et suis sous Vb6

Programmeur 1987

signaler à un administrateur
Commentaire de lionel4 le 08/02/2004 18:13:17

Moi je peux pas dl le zip (explorer.exe plante quand j'y touche) Ce serait sympa si tu mettais le contenue du module de source dans la case source pcq ca fait un certain temps que je cherche une source comme celle la. Merci d'avance,
Lionel4

signaler à un administrateur
Commentaire de neoprog le 04/03/2004 21:07:14

Oui ce code est tres bien ...

A condition de conaitre les events :

left button pressed     7695
left button released    7710
right button pressed   7740
right button released  7755
double left click          7725
double right click        7770
movement                 7680

signaler à un administrateur
Commentaire de neoprog le 04/03/2004 21:07:16

Oui ce code est tres bien ...

A condition de conaitre les events :

left button pressed     7695
left button released    7710
right button pressed   7740
right button released  7755
double left click          7725
double right click        7770
movement                 7680

signaler à un administrateur
Commentaire de neoprog le 04/03/2004 21:07:28

Oui ce code est tres bien ...

A condition de conaitre les events :

left button pressed     7695
left button released    7710
right button pressed   7740
right button released  7755
double left click          7725
double right click        7770
movement                 7680

signaler à un administrateur
Commentaire de neoprog le 04/03/2004 21:07:39

Oui ce code est tres bien ...

A condition de conaitre les events :

left button pressed     7695
left button released    7710
right button pressed   7740
right button released  7755
double left click          7725
double right click        7770
movement                 7680

signaler à un administrateur
Commentaire de feliciend le 17/03/2004 11:48:44

hello,
je voudrais intégrer cette classe dans un projet .NET, et j'ai qq erreurs : la conversion de hicon était plutot douteuse mais je pense avoir passé, le pb ; là mon problème c'est que l'icone ne s'affiche pas ... il y a un emplacement dans le systray pour mon icone mais c'est comme si elle était invisible :-/

signaler à un administrateur
Commentaire de feliciend le 17/03/2004 12:02:48

ok c'est bon j'ai trouvé comment on fait en VB.net ;)

signaler à un administrateur
Commentaire de Mrx3 le 18/03/2004 21:05:54

Moi g pas compris comment faire quelque chose quand l'utilisateur clique sur l'icone. Quelqu'un pourrai m'expliquer ?

signaler à un administrateur
Commentaire de Linkuff le 10/05/2004 18:04:10

je vois pas comment me servir des clics.. il est dit de mettre ça dans le mouse move mais dans kel mouse move ? celui du form ? rien se passe chez moi

signaler à un administrateur
Commentaire de jbbeauf le 19/08/2004 00:09:45

ouai, c'est vrai que la classe est super pratique mais il manquait la gestion des clicks de notre bonne souris

J'ai rajouté quelques lignes dans la classe :

Public Sub click(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static rec As Boolean, msg As Long

msg = X / Screen.TwipsPerPixelX
If rec = False Then
    rec = True
    Select Case msg
        Case WM_LBUTTONDBLCLK:
        Case WM_LBUTTONDOWN:
        Case WM_LBUTTONUP:
        Case WM_RBUTTONDBLCLK:
        Case WM_RBUTTONDOWN:
        Case WM_RBUTTONUP:
    End Select
    rec = False
End If

End Sub

Il faut alors mettre dans le code de la form où on a défini l'icone ceci :

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    myicon.click Button, Shift, X, Y
End Sub

Et voilà, vous mettez dans le case ce que vous voullez !!!


J'au aussi une question/problème : quand j'appelle myicon.hide l'icone ne disparait pas dans le systray : il faut que je passe ma souris dessus pour qu'elle disparaisse. Est ce normal, y a t il des solutions ?

merci
JB

signaler à un administrateur
Commentaire de Mika1000 le 01/02/2005 20:28:24

jbbeauf,
Pour que l'icône dipsaraisse il faut que : "Dim myicon As New SysTray" Se trouve dans les déclarations de ton code et que tu utilise "myicon.DeleteIcon" à l'endroit où tu désires supprimer l'icône.

Salut

signaler à un administrateur
Commentaire de jbbeauf le 01/02/2005 21:55:39

merci pour l'info !!

ça pourra me servir maintenant ! Pour contourner le problème je faisais en sorte avant que pour que l'icône disparaisse, il fallait double cliquer dessus : comme ça la souris se trouvait déjà dessus :-)

JB

signaler à un administrateur
Commentaire de pekch le 01/07/2006 00:34:47

jbbeauf : je pense que c'est pas une bonne idée de mettre ce que t'as rajouté dans la classe, par ce que tu seras obligé de gérer les évenements à l'intérieur, et après une classe, ca sert plus à rien...

signaler à un administrateur
Commentaire de pekch le 01/07/2006 00:59:18

Et à tout hasard, quelqu'un aurait une solution de remplacement pour gérer les évents? Parce que par exemple, on dit que 7680, c'est quand on passe avec la souris sur l'icone dans le tray. Ok, mais le probleme, c'est que si la feuille est visible et que la souris passe sur celle ci a 7680 sur X, ca déclenche aussi l'évenement. C'est pas terrible, si?
Alors y'a bien moyen de finter, mais au final ca reste du bricolage, c'est pas trop top...

signaler à un administrateur
Commentaire de Aurazed le 07/07/2006 15:11:08

C'est une tres bonne idée ton objet!
En plus il est simple à comprendre, je fais du vb depuis deux ans, mais je viens a peine de me lancé dans les API, c'est bien pratique!

signaler à un administrateur
Commentaire de tototh le 16/02/2007 09:57:52

Cela est tellement simple que cela en est indécent. ;-)
8eme merveille du monde ? ;-)

Non vraiment, c’est simple et très facile.
Je te remercie cela me sert, je débute en terme de systray.
cela vaut bien une bonne note.

signaler à un administrateur
Commentaire de philippe laschweng 1 le 05/04/2007 20:41:43

Bonjour,

Drôlement puissant avec si peu de code !
Mais pourquoi lorsque je minimize ma Form, elle ne disparaît pas dans le SYSTRAY justement?? Elle est toujours visible dans la barre des tâches !
Y'a un truc que j'ai pas fait?

Merci par avance !
Phil

signaler à un administrateur
Commentaire de philippe laschweng 1 le 05/04/2007 20:54:04

Bah j'ai trouvé finallement (je précise si cela peut servir à d'autres) :

Pour minimizer la Form dans le SYSTRAY
Private Sub Form_Resize()
    'Nécessaire pour assurer que la fenêtre réduite soit masquée
    If Me.WindowState = vbMinimized Then Me.Hide
End Sub

Pour la réaaficher par Click GAUCHE par exemple

Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case X
        Case 7755:   'Right Click
        Case 7725:    'Dbl Left Click
            Me.WindowState = vbNormal
            Result = SetForegroundWindow(Me.hwnd)
            Me.Show
    End Select
End Sub

Voili voulou. Si il y'a plus simple, merci de partager l'info.
A+

signaler à un administrateur
Commentaire de Galain le 06/04/2007 00:07:16

Merci pour cette classe

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,140 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.