SYSTRAY FACILE : MODULE DE CLASSE

cs_Nox Messages postés 415 Date d'inscription mardi 3 avril 2001 Statut Membre Dernière intervention 26 avril 2008 - 18 déc. 2002 à 23:20
 Profil bloqué - 6 avril 2007 à 00:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/5373-systray-facile-module-de-classe

Profil bloqué
6 avril 2007 à 00:07
Merci pour cette classe
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
5 avril 2007 à 20:54
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+
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
5 avril 2007 à 20:41
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
cs_tototh Messages postés 22 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 12 août 2008
16 févr. 2007 à 09:57
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.
Aurazed Messages postés 36 Date d'inscription jeudi 16 février 2006 Statut Membre Dernière intervention 26 mai 2008
7 juil. 2006 à 15:11
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!
pekch Messages postés 51 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 7 juillet 2006
1 juil. 2006 à 00:59
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...
pekch Messages postés 51 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 7 juillet 2006
1 juil. 2006 à 00:34
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...
jbbeauf Messages postés 13 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 18 octobre 2004
1 févr. 2005 à 21:55
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
cs_Mika1000 Messages postés 4 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 16 avril 2007
1 févr. 2005 à 20:28
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
jbbeauf Messages postés 13 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 18 octobre 2004
19 août 2004 à 00:09
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
cs_Linkuff Messages postés 24 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 12 janvier 2005
10 mai 2004 à 18:04
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
Mrx3 Messages postés 24 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 2 janvier 2007
18 mars 2004 à 21:05
Moi g pas compris comment faire quelque chose quand l'utilisateur clique sur l'icone. Quelqu'un pourrai m'expliquer ?
feliciend Messages postés 2 Date d'inscription mercredi 3 mars 2004 Statut Membre Dernière intervention 17 mars 2004
17 mars 2004 à 12:02
ok c'est bon j'ai trouvé comment on fait en VB.net ;)
feliciend Messages postés 2 Date d'inscription mercredi 3 mars 2004 Statut Membre Dernière intervention 17 mars 2004
17 mars 2004 à 11:48
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 :-/
neoprog Messages postés 7 Date d'inscription dimanche 10 février 2002 Statut Membre Dernière intervention 24 février 2002
4 mars 2004 à 21:07
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
neoprog Messages postés 7 Date d'inscription dimanche 10 février 2002 Statut Membre Dernière intervention 24 février 2002
4 mars 2004 à 21:07
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
neoprog Messages postés 7 Date d'inscription dimanche 10 février 2002 Statut Membre Dernière intervention 24 février 2002
4 mars 2004 à 21:07
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
neoprog Messages postés 7 Date d'inscription dimanche 10 février 2002 Statut Membre Dernière intervention 24 février 2002
4 mars 2004 à 21:07
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
cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008
8 févr. 2004 à 18:13
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
Programmeur1987 Messages postés 80 Date d'inscription lundi 2 décembre 2002 Statut Membre Dernière intervention 5 mars 2009
29 juin 2003 à 16:14
Moi sa ne fonctionne pas et suis sous Vb6

Programmeur 1987
gabchampagne Messages postés 216 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 5 mai 2004
16 mai 2003 à 18:52
laissez faire, j'ai trouvé, c facile
gabchampagne Messages postés 216 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 5 mai 2004
16 mai 2003 à 18:49
comment on fait pour utiliser des évènements comme un click par exemple
devmax98799 Messages postés 76 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 12 août 2009
15 mars 2003 à 15:45
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
emelaz Messages postés 2 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 9 décembre 2003
14 mars 2003 à 16:50
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
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
7 févr. 2003 à 12:54
c'est excellent !!! par contre tu n'as pas la valeur pour le clic gauche simple stp ?????
thepopolinux Messages postés 245 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 21 juin 2004
13 janv. 2003 à 18:15
Je suis le seul con à pas savoir le faire tourner !
ça dois être ma version de merde de VB !
Badclown Messages postés 162 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 22 mars 2004
19 déc. 2002 à 08:27
super et facile a utiliser 9/10

Bon travail
cs_cosmic Messages postés 61 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 16 mai 2005
19 déc. 2002 à 07:17
pas mal du tout...
et très léger...

@+ c'est good
cs_Clem Messages postés 282 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 12 février 2007
19 déc. 2002 à 00:15
même chose, pratik, ça évite de se taper un ocx ou un module normal qui obmente la taille du kod.
cs_Nox Messages postés 415 Date d'inscription mardi 3 avril 2001 Statut Membre Dernière intervention 26 avril 2008
18 déc. 2002 à 23:20
pratik, tres pratique... surtout que c tres facile!
9/10