Cours Delphi création d’une instance de le classe NotifyIcon

Cours Delphi création d’une instance de le classe NotifyIcon, tutoriel & guide de travaux pratiques Delphi en pdf.

Utilisation dans une application Winform
Mise en place des composants

Créer une nouvelle application Winform, et placer sur la fenêtre un composant NotifyIcon, un composant ContextMenu et un composant Timer. Tous ces composants sont inclus dans la palette « components ».
Notez que dans le cas d’un fiche Winform les composants visuels ne sont pas dessinés sur la fiche mais placés dans un bandeau en dessous. Il suffit ensuite de cliquer sur le composant voulu pour en modifier les propriétés.
Cliquer sur le composant NotifyIcon1 et ajuster les propriété voulues. Pour que l’icône soit affichée il faut ajouter une icône au composant ( ce qui est fait très simplement par le bouton ‘…’ ) et mettre sa propriété visible à True.
Remplir de même les propriétés Text et ContextMenu en sélectionnant ContextMenu1.
Renseigner ensuite le menu contextuel, ceci est réalisé en cliquant sur le composant dans le bas pour faire appaitre un debut de menu dans la fiche. Il faut alors remplir les éléments de menu comme pour une application VCL classique.
Remarque : renommer les éléments de menu avant d’y associer des événements. Car le nom des événements n’est pas modifié automatiquement ensuite. Il est tout de même possible de les changer manuellement.
Renseigner enfin les propriétés du timer : interval =500 et enabled à False.

Ajout du code en réponse aux événements

En premier lieu renseigner les événements du menu contextuel :
procedure TWinForm.MenuReduire_Click(sender: System.Object; e: System.EventArgs); begin
// L’option réduire permet de … réduire la fenêtre ! WindowState:=FormWindowState.Minimized;
end;
procedure TWinForm.MenuRestaurer_Click(sender: System.Object; e: System.EventArgs); begin
// L’option restaurer permet de … restaurer la fenêtre ! If WindowState=FormWindowState.Minimized
Then WindowState:=FormWindowState.Normal;
Show;
end;
procedure TWinForm.MenuFermer_Click(sender: System.Object; e: System.EventArgs); begin
// Fermer la fenêtre Close;
end;
Renseigner ensuite l’événement MouseDown du NotifyIcon1 :
procedure TWinForm.NotifyIcon1_MouseDown(sender: System.Object; e:
System.Windows.Forms.MouseEventArgs);
begin
// Dans le cas d’un click gauche sur l’icone, on test si c’est le premier
// click puis on lance le timer de retard d’affichage du menu.
// Cette méthode permet de laisser le temps de double cliquer sur l’icone
// avant que le menu n’apparaisse.
If (e.Button=System.Windows.Forms.MouseButtons.Left) And (e.Clicks=1)
Then
end;Timer1.Enabled:=True;
Notez que la structure des événements dans les objets .NET est toujours sur le même modèle. Deux objets sont passés en paramètres, le premier ( Sender ) est l’objet ayant reçu/provoqué l’événement. Le deuxième ( e ) contient des informations complémentaire. La classe de e dépend du type d’événement.
Dans le cas ci-dessus, e est de type MouseEventArgs. Les propriétés de cette classe permettent de différencier le type de bouton et le style d’appui. Il n’y a pas de propriété DoubleClick ou de type de bouton DoubleClick comme dans les événements VCL. Ici, c’est le nombre de click qu’il faut comparer.
Le bouton droit ne sera pas testé, car le menu contextuel est géré automatiquement par le composant lors du click droit.
Ajouter ensuite le code pour le double click :
procedure TWinForm.NotifyIcon1_DoubleClick(sender: System.Object; e: System.EventArgs); begin
// Dans le cas d’un double-click, on arrête le timer lancé par le premier
// click et on effectue l’action par défaut.
Timer1.Enabled:=False;
MenuRestaurer_Click(Sender,e);
end;
Et enfin celui de l’événement Tick du Timer :
procedure TWinForm.Timer1_Tick(sender: System.Object; e: System.EventArgs); begin
// Si le timer s’est écoulé, c’est qu’il n’y a pas eu de double-click.
// Dans ce cas on affiche le menu là ou est la souris. Timer1.Enabled:=False; ContextMenu1.Show(Self,Control.MousePosition);
end;

Exécution

L’application est maintenant prête à être essayée.
Le source complet de cet exemple en disponible ici : Source0078

Introduction
I – Principes communs
I-A – Classe NotifyIcon
I-B – Utilisation de l’icône
II – Utilisation dans une application Winform
II-A – Mise en place des composants
II-B – Ajout du code en réponse aux événements
II-C – Exécution
III – Utilisation dans une application VCL.NET
III-A – Création d’une instance de le classe NotifyIcon
III-B – Ajout des autres composants
III-C – Ajout du code en réponse aux événements
III-D – Exécution
Conclusion

……..

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *