Icone dans la barre des taches

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 194 fois - Téléchargée 29 fois

Contenu du snippet

déclarations :

ShellAPI dans les uses

Const WM_MYMESSAGE=WM_USER+100; //juste en dessous des uses

public
{ Déclarations publiques } IconData : TNotifyIconData;

Source / Exemple :


//mettez ce code dans formcreate
 notifyStruc.cbSize:=SizeOf(notifyStruc);
  notifyStruc.Wnd:=Handle;
  notifyStruc.uID:=1;
  NotifyStruc.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE;
  NotifyStruc.uCallbackMessage := WM_MYMESSAGE;
  NotifyStruc.hIcon :=  Form1.Image1.Picture.Icon.Handle;//icone qui apparaitra dans le systray.
  NotifyStruc.szTip:='Nom du programme';
  Shell_NotifyIcon(NIM_ADD,@NotifyStruc);//ajoute la petite icône dans la barre des taches

procedure TForm1.TrayMessage(var Msg: TMessage);//procedure pour les action sur l'icone
begin
if (Msg.LParam=WM_RBUTTONDOWN) then ShowMessage('Bouton droit pressé!');
if (Msg.LParam=WM_LBUTTONDOWN) then {WM_LBUTTONDOWN = Bouton gauche}end;
end;

//dans formclose :
if (@NotifyStruc<>NIL) then
Shell_NotifyIcon(NIM_DELETE,@NotifyStruc);  // supprime la petite icône de la barre des taches

Conclusion :


voilà
si il y a une erreur dites le moi

A voir également

Ajouter un commentaire

Commentaires

clems000
Messages postés
1
Date d'inscription
jeudi 7 août 2003
Statut
Membre
Dernière intervention
30 septembre 2003
-
Pour pouvoir capturer les messages correspondant aux clics de souris sur l'icone, il faut faire la déclaration suivante:

procedure TrayMessage(var Msg: TMessage); message WM_MYMESSAGE;

Cela permet tout simplement de declencher la fonction lorsque l'application recoit ce message particulier.
Bruto
Messages postés
228
Date d'inscription
jeudi 21 mars 2002
Statut
Membre
Dernière intervention
14 mai 2004
-
pour l'icone dans le systray d'accord mais il ne détecte pas le message du clic droit ou gauche

aurais-tu une idée ?
cs_mike255
Messages postés
123
Date d'inscription
mercredi 14 août 2002
Statut
Membre
Dernière intervention
26 mai 2007
-
je serais plus pour NotifyStruc : TNotifyIconData moi ;)
cs_mike255
Messages postés
123
Date d'inscription
mercredi 14 août 2002
Statut
Membre
Dernière intervention
26 mai 2007
-
identificateur non déclaré pour Notifystruc :(

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.