Popup alerte style msn avast

Soyez le premier à donner votre avis sur cette source.

Vue 8 788 fois - Téléchargée 1 840 fois

Description

Je suis tombé sur la source de nie69, et je l'ai réécris pour mes besoins.

Je voulais gérer une liste d'alerte afin qu'elle s'affiche à la suite.

j'ai utilisé un thread et synchronize, ce qui permet d'avoir quelque chose d'assez rapide, surtout en sortie d'application.

Source / Exemple :


//--------------------------------------------
// auteur : ouiouioui
// e-mail : ouiouioui10@hotmail.com
// version 1.0
// basé sur une idée originale de ni69 < http://www.delphifr.com/codes/ALERTE-PERSONNALISEE-STYLE-MSN-MESSENGER-APPARITION-PROGRESSIVE-FORM_29551.aspx >
// faites-en ce que vous voulez
//--------------------------------------------
Unit Unit1;

Interface

Uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ThreadAlertMsg, StdCtrls;

Type
  TForm1 = Class(TForm)
    Button1: TButton;
    Button2: TButton;
    Procedure Button1Click(Sender: TObject);
    Procedure FormCreate(Sender: TObject);
    Procedure FormDestroy(Sender: TObject);
    Procedure Button2Click(Sender: TObject);
  Private
    ThreadAlertMsg: TThreadAlertMsg;
    Procedure MsgTest(Sender: TObject);
  Public
    { Déclarations publiques }
  End;

Var
  Form1: TForm1;

Implementation

{$R *.dfm}

Procedure TForm1.MsgTest(Sender: TObject);
Begin
  MessageDlg('Vous avez cliqué l''alerte!', mtInformation, [mbOK], 0);
End;

Procedure TForm1.Button1Click(Sender: TObject);
Begin
// la méthode AddAlert prend 6 paramètres, les deux premiers sont obligatoires
// les quatre autres sont facultatifs.
// il s'agit en premier du titre puis du texte de la popup. Exemple:
  ThreadAlertMsg.AddAlert('alert 1', 'fdfggh gftfg ggghggtt rf');
// vient ensuite les paramètres optionnels:
// - le nom de l'icône, il y en a 26 inclus, regardez dans le dossier image
// pour trouver leur nom, ne spécifiez pas l'extension.
// - le sons, ça peut être un fichier existant comme l'exemple ci-dessous:
  ThreadAlertMsg.AddAlert('alert 2', 'fvgfggvggg    ggghgh         fvbvfvb hg', 'info', 'C:\WINDOWS\Media\Windows XP Démarrage.wav', nil, 3000);
// ou le mot beep ça déclenchera le beep de l'ordinateur comme l'exemple ci-dessous:
  ThreadAlertMsg.AddAlert('cool', 'fvgfggvggg    ggghgh   fvbvfvb hg', 'chat', 'beep', nil, 2000);
// ou le nom d'un des fichiers contenus dans le dossier sons, ne spécifiez pas
// l'extension, comme les exemples ci-dessous:
  ThreadAlertMsg.AddAlert('attention', 'fvgfggvggg    oui   fvbvfvb hg', 'security', 'promotion', nil, 1000);
  ThreadAlertMsg.AddAlert('bonjour', 'fvgfggvggg    non   dff vfggf hg', 'user', 'Blip', nil, 5000);
// - le nom d'une procédure à déclencher lorsque l'utilisateur clique le message
// comme l'exemple ci-dessous:
  ThreadAlertMsg.AddAlert('yesss', 'Clique moi pour déclencher une procédure', 'heart', 'succ', MsgTest, 3000);
// - le temps durant laquelle l'alerte doit rester visible avant de redescendre
// ci-dessous l'alerte restera trois secondes, le temps par défaut étant de cinq secondes
  ThreadAlertMsg.AddAlert('attention', 'fvgfggvggg    8    fgghhj ghghgg fgghgh gggg     fvbvfvb hg', 'tools', 'newalert', nil, 3000);

// voici une alerte avec les paramètres facultatif par défaut:
  ThreadAlertMsg.AddAlert('titreee', 'textt', '', '', nil, 5000);
End;

Procedure TForm1.Button2Click(Sender: TObject);
Begin
  Close;
End;

Procedure TForm1.FormCreate(Sender: TObject);
Begin
  ThreadAlertMsg := TThreadAlertMsg.Create;
End;

Procedure TForm1.FormDestroy(Sender: TObject);
Begin
  ThreadAlertMsg.Terminate;
End;

End.

Conclusion :


C'est mon 1er partage youpi ^^ Comme tout code on peut toujours améliorer mais pour mes besoins sa me suffit.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Bonjour,

il existe dans le pack de compos de JEDI (pack gratuit) 2 compos qui gèrent très bien cela:
JvDeskTopAlert et jvDesktopAlertTask.

A+
Messages postés
11
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
14 avril 2009

C'est corrigé, merci pour vos commentaire
j'ai rxgif des unité, j'ai changé la croix rouge avant de poster et j'avais zappé que les gif était géré par la rxlib j'ai mis un ico et c'est bon

pour les compilateur j'ai testé D2007 D2009 j'en ai pas d'autre désolé.
Messages postés
4719
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
1 février 2021
14
Ce programme doit vraisemblablement tourner sous
Delphi 2009
il aurait été utile de le préciser..
Messages postés
54
Date d'inscription
dimanche 23 février 2003
Statut
Membre
Dernière intervention
21 décembre 2009

Bonjour !
Marche pas chez moi (Delphi 7 perso)
rxgif absent ?

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.