Soyez le premier à donner votre avis sur cette source.
Vue 11 079 fois - Téléchargée 1 383 fois
Option Explicit Private Type IconeTray cbSize As Long 'Taille de l'icône (en octets) hWnd As Long 'Handle de la fenêtre chargée de recevoir les messages envoyés lors des évènements sur l'icône (clics, doubles-clics...) uID As Long 'Identificateur de l'icône uFlags As Long uCallbackMessage As Long 'Messages à renvoyer hIcon As Long 'Handle de l'icône szTip As String * 64 'Texte à mettre dans la bulle d'aide End Type Dim IconeT As IconeTray 'Constantes nécessaires Private Const AJOUT = &H0 Private Const MODIF = &H1 Private Const SUPPRIME = &H2 Private Const MOUSEMOVE = &H200 Private Const MESSAGE = &H1 Private Const Icone = &H2 Private Const TIP = &H4 Private Const DOUBLE_CLICK_GAUCHE = &H203 Private Const BOUTON_GAUCHE_POUSSE = &H201 Private Const BOUTON_GAUCHE_LEVE = &H202 Private Const DOUBLE_CLICK_DROIT = &H206 Private Const BOUTON_DROIT_POUSSE = &H204 Private Const BOUTON_DROIT_LEVE = &H205 'API nécessaire Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As IconeTray) As Boolean Private Sub Check1_Click() If Check1.Value = 1 Then Form1.Hide End Sub Private Sub Form_Load() 'Préparation de la variable IconeT IconeT.cbSize = Len(IconeT) 'Taille de l'icône en octet IconeT.hWnd = Me.hWnd 'Handle de l'application (pour qu'elle reçoive les messages envoyés lors d'un clic, double-clic... IconeT.uID = 1& 'Identificateur de l'icône IconeT.uFlags = Icone Or TIP Or MESSAGE IconeT.uCallbackMessage = MOUSEMOVE 'Renvoyer les messages concernant l'action de la souris IconeT.hIcon = Image1.Picture 'Mettre en icône l'image qui est dans le contrôle "Image1" IconeT.szTip = "Icône dans le system tray" & Chr$(0) 'Texte de la bulle d'aide 'Appel de la fonction pour mettre l'icône dans le système tray Shell_NotifyIcon AJOUT, IconeT Me.Show 'Cache la fenêtre App.TaskVisible = False 'Retire le bouton de l'application de la barre 'des tâches menu.Visible = False End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Static rec As Boolean, msg As Long 'Se produit lorsque l'utilisateur agit avec la souris sur 'l'icône placée dans le système tray msg = X / Screen.TwipsPerPixelX If rec = False Then rec = True Select Case msg 'Différentes possibilité d'action Case DOUBLE_CLICK_GAUCHE: 'mettez menuAproposDe_Click 'ici Case BOUTON_GAUCHE_POUSSE: 'ce Case BOUTON_GAUCHE_LEVE: 'que Case DOUBLE_CLICK_DROIT: 'vous Case BOUTON_DROIT_POUSSE: 'voudrez Case BOUTON_DROIT_LEVE: 'qu'il se passe PopupMenu menu, , , , menuAproposDe 'fait apparaitre le menu '"A propos de" apparaitra en gras End Select rec = False End If End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) 'Refait appel à l'API pour retirer l'icône du système tray 'lorsque le programme se ferme, en utilisant cette fois la constante SUPPRIME 'au lieu de AJOUT IconeT.cbSize = Len(IconeT) IconeT.hWnd = Me.hWnd IconeT.uID = 1& Shell_NotifyIcon SUPPRIME, IconeT End Sub Private Sub Menu_Click() 'C'est ce menu et son contenu qui apparait lorsqu'on clique 'sur l'icône End Sub Private Sub menuAproposDe_Click() MsgBox "Cette source est distribué gratuitement et avec tout les droits d'auteur" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & " Vive le COde Ouvert", vbOKOnly, "Vive le cOde Ouvert" End Sub Private Sub Quitter_Click() Unload Me 'retire la fenêtre End Sub Private Sub Restor_Click() Check1.Value = 0 Form1.Show End Sub
17 janv. 2002 à 02:04
@++ Polueur
18 janv. 2002 à 14:16
Et le but de ce site est de mettre le plus de code source possible, afin qu'il y est plein d'example pour aidé les débutants ou les plus expérimentés à sauver du temps en utilisant un CODE PRÉFABRIQUÉ ET FONCTIONNEL.
À la place me faire perdre mon temps à répondre à t'est petit commentaire inutile, va voir ailleur si j'y suis.
Tout ce qui est sur le web doit être disponible rapidement et facilement et surtout gratuitement.
@++
19 janv. 2002 à 02:13
8 févr. 2002 à 18:31
Sbiron
@++
28 févr. 2002 à 03:44
C pas bien la copie, mais bon, coolcrash a quand meme raison ...
Nice comme code
Je comprend aussi la reaction de max12
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.