Affiche un message temporaire

Résolu
softreda Messages postés 12 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 22 décembre 2005 - 19 déc. 2005 à 18:52
softreda Messages postés 12 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 22 décembre 2005 - 22 déc. 2005 à 11:18
j utilise la fonction MessageBox pour affiche un message, ce que je veux faire c’est d’afficher le message temporairement, est qui il soit fermer tout seul, comme si j envoi une instruction de clique sur le bouton ok.
comment faire ? est qu il n y a pas un autre objet que je peux utiliser.
merci d avence

5 réponses

NeoUmbrella Messages postés 117 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 15 janvier 2013
21 déc. 2005 à 20:39
T'as essayé en castant ?
Pourquoi n'utilises tu pas l'api FindWindow au lieu de ta classe CDlgIdentification, ca marche bien, j'ai testé avant.

NeoUmbrella Corp.
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 déc. 2005 à 18:57
Fais une dialog perso avec un timer qui la fermera.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
NeoUmbrella Messages postés 117 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 15 janvier 2013
19 déc. 2005 à 19:20
Salut, si tu veux appuyer sur le bouton ok de la MessageBox, tu dois récupérer en premier l'handle de la fenètre.
Récupère le par le caption de la MessageBox et pas par la classe car toutes les messagebox ont le meme nom de classe.
Ensuite tu récupères l'handle du bouton et tu simules un click dessus.
Voici un exemple pour une MessageBox qui a pour titre 'Caption MessageBox' :

//On récupère l'handle de la fenètre
HWND hMsgBox = FindWindow(NULL, "Caption MessageBox");

//On récupère l'handle du bouton 'Ok'
HWND hBoutonOk = FindWindowEx(hMsgBox, NULL, NULL, "Ok");

//On simule le click sur le bouton
PostMessage(hMsgBox, WM_COMMAND, (WPARAM)GetDlgCtrlID(hBoutonOk), (LPARAM)hBoutonOk);

NeoUmbrella Corp.
0
softreda Messages postés 12 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 22 décembre 2005
21 déc. 2005 à 12:37
je suis dacord avec toi Neo, mais j ai un probléme j arrive pas à recuperer le handel, voila le message d'erreur " impossible de convertir de cwnd* en hwnd".

et voila mon code :


CDlgIdentification dlgIdentify;// ma fenetre


dlgIdentify.DoModal();// ca marche comme ca j arrive avoir la fenétr.


HWND m = dlgIdentify.FindWindow("ThunderRT6FormDC","Nom de mon prog"); // mais cette ligne de code m'affiche le code d errur suivant. " impossible de convertir de cwnd* en hwnd".
0

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

Posez votre question
softreda Messages postés 12 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 22 décembre 2005
22 déc. 2005 à 11:18
merci pour votre aide ca marche
0
Rejoignez-nous