var
Form1: TForm1;
nid :TNewNotifyIconData; //Tray Icône
implementation
{$R *.dfm}
//----------------------------------------------------------------------------//
// Appel commande icone du Tray //
//----------------------------------------------------------------------------//
procedure TForm1.WMAppelMessage(var msg : TMessage);
Var Curs:TPoint;
begin
//Si Clique droit de la souris
if msg.LParam=Wm_RButtonDown then
begin
SetForegroundWindow(Handle);
GetCursorPos(Curs); //Récupère les coordonnées de la souris
PopupMenu1.Popup(Curs.X,Curs.Y); //Ouvre le menu surgissant à l'emplacement spécfié par les coordonnees de la souris
PostMessage(Handle,WM_NULL,0,0);
end;
end;
//----------------------------------------------------------------------------//
// Affiche une bulle pour informer //
//----------------------------------------------------------------------------//
Procedure TForm1.AfficheBulleTips;
Var
TipsInfo, TipsTitre: String;
begin
nid.cbSize := SizeOf(nid);
nid.uFlags := NIF_INFO;
TipsInfo := 'Le Hook du Calendrier est activé.';
strPLCopy(nid.szInfo, TipsInfo, SizeOf(nid.szInfo) - 1);
nid.DUMMYUNIONNAME.uTimeout := 3000;
TipsTitre := 'Surveillance du Bureau';
strPLCopy(nid.szInfoTitle, TipsTitre, SizeOf(nid.szInfoTitle) - 1);
// Symbole affiché dans la bulle
// NIIF_INFO --> Bulle i
// NIIF_ERROR --> Croix x rouge
// NIIF_WARNING --> Triangle Jaune
nid.dwInfoFlags := NIIF_INFO; //NIIF_ERROR;//NIIF_WARNING;
Shell_NotifyIcon(NIM_MODIFY, @nid);
end;
//----------------------------------------------------------------------------//
// Ajoute l'icone de l'application dans la barre de Notification //
//----------------------------------------------------------------------------//
Procedure TForm1.AjouteSysTrayIcone;
Begin
nid.cbSize := SizeOf(nid);
nid.Wnd := Handle ;
nid.uID := 0;
nid.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
nid.uCallbackMessage := WM_CallBackMessage;
nid.hIcon := Application.Icon.Handle;
// Message du Hint
strPLCopy(nid.sztip,'Essai info bulle' , SizeOf(nid.sztip) - 1);
Shell_NotifyIcon(NIM_ADD, @nid);
end;
//----------------------------------------------------------------------------//
// Supprime l'icone de l'application dans la barre de Notification //
//----------------------------------------------------------------------------//
Procedure TForm1.SupprimeSysTrayIcone;
Begin
Shell_NotifyIcon(Nim_DELETE,@nid); //Supprime le tray icon
End;
procedure TForm1.FormCreate(Sender: TObject);
begin
AjouteSysTrayIcone;
end;
procedure TForm1.Quitter1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.btn1Click(Sender: TObject);
Begin
AfficheBulleTips;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SupprimeSysTrayIcone;
end;