MessageBox()

Signaler
Messages postés
123
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
30 mars 2009
-
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
-
Bonjour bonjour,

J'ai une super question de débutant.

J'aimerai faire un Messagebox avec des variables et du texte
(un genre de Msgbox("Coucou" & str_Nom & ", c'est moi) de VB)
Mais je galère et je suis olbigé de faire du strcat en passant par une variable temp.

Il n'y aurait pas une autre solution?

PsyCaDi

5 réponses

Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

Si tu es en C, j'en vois pas d'autre.
Par contre en C++ si tu trouve une classe encapsulant les chaines de caractères, c'est possible. Vas voir du côté des CString (MFC) ou string (stl)...
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,


char buff[1024];
char * strNom = "patatalo\n";
char * fmtMB = "coucou %s, c moi\n";

wsprintf(&buff,fmtMB,strNom);
MessageBox(0,&buff,0,MB_OK);

@++
Messages postés
123
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
30 mars 2009

Je suis en C++
Je vais me pencher du coté de la stl car je suis pas trop pour mfc.

PsyCaDi
Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

Alors essaye ça:

#include <windows.h>
#include <cstdlib>
#include
#include <string>


using namespace std;


int main()
{

string msg = "Salut, ";
string nom = "PsyCaDi";

MessageBox(NULL,(msg + nom + ". Tu vas bien?").c_str(),NULL,MB_OK);

system("pause");
return 0;
}
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
Fonction MsgBox:


int MsgBox(HWND hWnd, UINT uType, LPSTR szTitre, LPSTR szFormat, ...)
{
char szBuffer[512];
va_list ArgList;


va_start(ArgList, szFormat);
wvsprintf(szBuffer, szFormat, ArgList);
va_end(ArgList);


return MessageBox(hWnd, szBuffer, szTitre, uType);
}

Exemple:

int une = 1 ;

MsgBox(Null, MB_OK, "Un titre", "Un texte avec %d variable", une);