MessageBox temporaire

Résolu
johspi Messages postés 19 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 7 septembre 2010 - 26 juil. 2010 à 12:51
johspi Messages postés 19 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 7 septembre 2010 - 2 août 2010 à 10:56
Bonjours ,

Je cherche à faire une sorte de messagebox qui se fermerai au bout de X secondes.

Apres quelque recherche j'ai pas touver de composant et d'exemples qui pourrai m'aider.

Si vous avez des informations la dessus n'ésitait pas

Merci d'avance

12 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 48
26 juil. 2010 à 14:05
Salut,
du calme du calme

[hr][b]const

  /bMB_TIMEDOUT       =  $7D00;

function  MessageBoxTimeOut(hWnd: HWND; lpText: PChar; lpCaption: PChar; uType:
  UINT; wLanguageId: WORD; dwMilliseconds: DWORD): Integer; stdcall; [b]external
  /buser32 name 'MessageBoxTimeoutA';

implementation


procedure TForm1.Button11Click(Sender: TObject);
[b]var
  /bBoxResult : Integer;
  BoxFlags  : Integer;
[b]begin
  /bBoxFlags : = MB_YESNO or MB_SETFOREGROUND or MB_SYSTEMMODAL [b]or
    /bMB_ICONINFORMATION;
  BoxResult := MessageBoxTimeout(Application.Handle,
                 'Ce message se fermera au bout de 5 seconds.',
                 'Teste', BoxFlags, 0, 5000);
  case BoxResult [b]of
    /bIDYES:
      ShowMessage('Oui');
    IDNO:
      ShowMessage('Non');
    MB_TIMEDOUT:
      ShowMessage('TimedOut');
  end;
end;
[hr]

cette exemple affiche une "MessageBox", si l'utilisateur ne clique pas sur les boutons elle se referme toute seule au bout de 5 secondes.

voilà c'est aussi simple que ça

[hr]@+Cirec
[hr]
3
johspi Messages postés 19 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 7 septembre 2010
26 juil. 2010 à 13:04
Info supplémentaire qui n'apportera pas grand chose , je suis sous delphi 5 ........
0
Utilisateur anonyme
26 juil. 2010 à 13:44
Salut,

La réponse a déjà été donné par DarkSidious sur le forum VBFrance: As tu cherché avant de poser ta question ? Malgré ce que tu dis, il semble que non. C'est pas bien
0
johspi Messages postés 19 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 7 septembre 2010
26 juil. 2010 à 13:57
Merci pour ton liens ....

Oui j'ai cherché mais j'ai du passer a coté, personne n'est parfait
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
26 juil. 2010 à 14:24
@Cirec : Mais personne s'énerve . Merci pour cette fonction MessageBoxTimeOut qui à priori n'est pas référencée dans la MSDN.
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 9
26 juil. 2010 à 16:46
Ca déchire ce truc ! Merci Cirec, je ne la connaissais pas !

PS : MB_TIMEDOUT = 32000, je le dis car avec mon vieux D6 j'ai pas pu compiler, il a fallu que je demande à Google

Cordialement, Bacterius !
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 48
26 juil. 2010 à 17:07
eh eh on ne peut pas tout savoir

@Francky:
quand je disais du calme c'est dans le sens :
inciter à la recherche c'est bien mais on ne trouve pas toujours ce qu'on veut, c'est rare, j'en conviens mais la preuve en est faite ici

@Bacterius:
eh ouvre un peu les yeux de temps en temps
tout au début du code que je donne il y avait ceci:
const
  MB_TIMEDOUT       = $7D00;




[hr]@+Cirec
[hr]
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 9
26 juil. 2010 à 22:09
Oups. Hem ... il a dû m'échapper

Cordialement, Bacterius !
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 48
27 juil. 2010 à 16:11
et johspi, le pauvre, est parti avec la conviction qu'un tel code n'existe pas et est entrain de se fabriquer une usine à gaz



[hr]@+Cirec
[hr]
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 48
27 juil. 2010 à 16:59
ps:

j'ai retrouvé le lien original sur Delphi.About


[hr]@+Cirec
[hr]
0
johspi Messages postés 19 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 7 septembre 2010
2 août 2010 à 10:49
lol Cirec presque sa mais j'ai fini par utiliser un Timer sur mon messagebox sa va sa prend pas trop de code 2 à 3 ligne mais ta solution à l'aire vraiment plus propre .....



Merci beaucoup pour votre aide ....
0
johspi Messages postés 19 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 7 septembre 2010
2 août 2010 à 10:56
Niquel sa marche bien .

Je ne vais pas pouvoir l'utiliser dans le soft sur le qu'elle je travail car il va etre utiliser sur un écran tactil du coup , il me faux de gros bouton .

Encore merci car sa me sera surement utile un de ces 4.
0