Popup alerte style msn avast

Soyez le premier à donner votre avis sur cette source.

Vue 9 255 fois - Téléchargée 1 899 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
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
15 avril 2009 à 10:22
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+
strobinateur Messages postés 11 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 14 avril 2009
14 avril 2009 à 11:12
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é.
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
14 avril 2009 à 10:15
Ce programme doit vraisemblablement tourner sous
Delphi 2009
il aurait été utile de le préciser..
amiga68 Messages postés 54 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 21 décembre 2009
14 avril 2009 à 05:18
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.