Bonjour, je développe un petit rpg (on verra jusqu'où le projet ira [seul pour le moment ] ).
Je test un moyen d'afficher les informations de mon personnage principal.
Jusqu'ici tout va bien, je crée une classe dérivant de IEventReceiver et j'ajoute une fonction updateOfBoxes soit mise à jour des boîtes (j'ai pas trouvé mieux comme nom ).
Quand l'utilisateur presse I (comme Informations), une messageBox s'affiche (non modale bien entendu), quand il presse à nouveau la touche I, la fenêtre "devrait" être détruite.
Voilà avant tout mon code : (juste de la fonction)
void CEventReceiver::updateOfBoxes() { if(m_isPrinting) //Si une touche permettant de cre'er un objet a e'te' presse' { if(!m_isInfoBoxVisible) //Si la boite d'info n'est pas affiche'e { if(m_action == printInfoBox) //Si l'utilisateur veut en cre'er une { m_gui->addMessageBox(m_myCharacter->getName(), L"PV: 100%\nHP: 90%", false); //Donne'es bidons pour tester m_isInfoBoxVisible = true; } } else if(m_isInfoBoxVisible) { if(m_action == deleteInfoBox) //On de'truit la boite d'info { m_isInfoBoxVisible = false; } } } }
Bon mon code fait exactement ce qui est prévu, ma question est :
Comment supprimer une messageBox (j'ai cherché dans la doc, j'ai trouvé add mais pas delete) et à part supprimer le gui lui même (ce qui est affreux car faudrait en recréer un autre à chaque fois), je ne vois pas.
Pour le moment :
Pression 1 sur I -> affiche la boite
Pression 2 sur I -> du point de vue code la boite est détruite
Pression 3 sur I -> affiche la boite
Pression 4 sur I -> du point de vue code la boite est détruite
...
Je me retrouve donc avec (nombre de fois où on presse I)/2 boites ce qui est assez gênant.
Merci d'avance,
Hors ligne
Les boites de messages que tu utilises dérivent de la classe IGUIElement, qui définit une méthode remove(). C'est cette méthode que tu dois appeler pour détruire ta message box.
ps : updateOfBoxes, ça me semble pas si mauvais comme nom
Hors ligne
Merci
Je vais essayer cela mais je ne pourrai tester cette solution que dans 3 semaines (pas de résolu tout de suite).
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 25 invités en ligne Aucun membre connecté RSS Feed |