Gambas France BETA


Pas de compte ? Incription

Exemple d' Utilisation du Control TrayIcon

À propos de ce code

Exemple d' Utilisation du Control TrayIcon
Tout est dans le Code.

Reivillo.
(Modifié le dimanche 02 février 2014)

Code source

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
' Gambas class file

' Exemple d' Utilisation du Control TrayIcon
' La Fenêtre est cachée au Démarrage
' Clique Gauche Montre/Cache la Fenêtre
' Clique Milieu Change la Couleur de Fond
' Clique Droit Ferme la Fenêtre

PUBLIC hTrayIcon AS NEW Trayicon AS "hTrayIcon"
PUBLIC hTimer AS NEW Timer AS "hTimer"
PUBLIC iColor AS Integer[] = [&HDCDCDC&, &HFF0000&, &H00FF00&, &H0000FF&]

PUBLIC SUB new()
END

PUBLIC SUB Form_Open()

ME.Center
ME.Y = 0
ME.Tag = 0
ME.Stacking = Window.Above
hTimer.Delay = 0.01
hTimer.Trigger
hTrayIcon.Show

END

PUBLIC SUB hTimer_Timer() ' Cache la Fenêtre, au démarrage

ME.Hide

END

PUBLIC SUB hTrayIcon_MouseUp() ' Action des Boutons de la Souris, sur le TrayIcon

SELECT CASE Mouse.Left
CASE TRUE
MouseBtnLeft ' Bouton de Gauche
CASE FALSE
SELECT CASE Mouse.Middle
CASE TRUE
MouseBtnMiddle ' Bouton du Milieu
CASE FALSE
MouseBtnRight ' Bouton de Droite
END SELECT
END SELECT

END

PUBLIC SUB MouseBtnLeft() ' Montre/Cache la Fenêtre

ME.Visible = NOT ME.Visible

END

PUBLIC SUB MouseBtnMiddle() ' Change la couleur de Fond de la Fenêtre

INC ME.Tag
ME.Background = iColor[ME.Tag AND 3]

END

PUBLIC SUB MouseBtnRight() ' Ferme la Fenêtre

hTrayIcon.Tag = ME.Visible
SELECT CASE Message.Warning("Que voulez-vous ?", "Annuler", "Fermer", "Sais pas")
CASE 1
Message.Info("Un coup pour Rien !", "Fermer")
CASE 2
ME.close
RETURN
CASE 3
Message.Info("Ben, Faudrait Savoir !", "Fermer")
END SELECT
ME.Visible = hTrayIcon.Tag

END

PUBLIC SUB Form_Deactivate() ' Cache la Fenêtre, en perdant son Focus

ME.Hide

END

PUBLIC SUB Form_Close()

hTrayIcon.Delete

END

Commentaires

Commentaire de Jack, Le 25/1/2014 à 10:03:37
Message.Warning("Que désirez-vous Faire ?" "Arrêter", "Annuler", "Sais pas")
il faudrait mettre une virgule après la question.
Message.Warning("Que désirez-vous Faire ?", "Arrêter", "Annuler", "Sais pas")
Commentaire de Jack, Le 25/1/2014 à 10:06:46
Il faudrait aussi mettre un contrôle sur la fermeture de la form car le trayicon reste visible.
Commentaire de Reivillo, Le 25/1/2014 à 12:08:45
Bonjour Jack.
il faudrait mettre une virgule après la question.
J'ai bien la virgule dans mon Code, mais elle ne s'affiche pas dans la Forge.
J'ai eu cela hier aussi, sur le dernier Message.info,
en le raccourcissant, ça à passé.
Je vais essayé de rectifier le tir.
Il faudrait aussi mettre un contrôle sur la fermeture de la form car le trayicon reste visible.
Ben, ici le TrayIcon se ferme bien.

Si tu as une piste, n'hésite pas.
Dans tous les cas, merci pour tes remarques.

Reivillo.


Commentaire de Reivillo, Le 25/1/2014 à 14:34:18
Merci a Flachy Joe.

D'avoir corriger le tir ICI
Commentaire de Jack, Le 25/1/2014 à 14:43:35
Il faudrait ajouter :

Public Sub Form_Close()

hTrayIcon.Delete

End
Commentaire de Reivillo, Le 26/1/2014 à 08:34:03
Merci Jack.

C'est corrigé.

Puisque que l'on Ferme,
il est plus logique d'utiliser la propriété,
Delete, en lieu et place de Visible.
Et cela, dans une Form_Close.

Si d'autres Testeurs, rencontre d'autres Soucis,
( Sur d'autres Distribution Ubuntu )
Merci, de me le Signaler.

Reivillo.