Classes et fonctions statiques...

SW_87 Messages postés 56 Date d'inscription mercredi 16 mars 2005 Statut Membre Dernière intervention 4 août 2005 - 21 juin 2005 à 11:07
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 21 juin 2005 à 21:01
Bonjour ,



J'ai un petit renseignement à vous demander :



J'ai créé une application "MFC AppWizzard (exe)" sous VC++ 6.0.

Mais pour des raisons que je vous épargnerai j'ai besoin de créer des fonctions "static".



Le problème est que, par exemple, si je fais un AfxMessageBox dans la
fonction static, le messageBox ne va pas s'ouvrir dans ma fenetre
courante mais va créer une autre fenetre pour afficher la MessageBox.
Je pense que je perds le contexte (je me trompe p-e de mot...)



Comment à partir d'une fonction statique je peux faire un AfxMessageBox dans la fentre courante Comment recupérer le "contexte"



void Test::Test{}

static void openWindow (){AfxMessageBox("coucou");}

Comment déclarer, dans la fonction static, un pointeur qui pointe vers un objet de la classe Test et qui est l'objet courant

Test *pt = new Test();



Si vous avez des idées n'hésitez pas...



Merci !

3 réponses

cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
21 juin 2005 à 11:16
Tu peux faire simplement un MessageBox(GetFocus(), "Ton texte", "Ton titre", 0x40);

@+
Arnotic,
Admin CS, MVP Visual C++
0
SW_87 Messages postés 56 Date d'inscription mercredi 16 mars 2005 Statut Membre Dernière intervention 4 août 2005
21 juin 2005 à 11:24
Merci pour ta réponse mais l'AfxMessageBox etait simplement un exemple.

il est indispensable de récupérer le "contexte" car le problème est identique lorsque j'ouvre une boite de dialogue...
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
21 juin 2005 à 21:01
Tu peux pas obtenir un "objet courant" comme ca. Ca n'a aucun sens pour
le compilateur. C'est a toi de le definir (un objet statique de la
classe). Et c'est a toi de la modifier quand il faut (par exemple quand
le focus change si c'est une fenêtre), et tu utilise cette variable
dans la fonction statique
0
Rejoignez-nous