Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1240 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Boites de dialogues active au meme moment?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Boites de dialogues active au meme moment?

n°1129515
_TomTom_
Posté le 24-06-2005 à 10:04:28  profilanswer
 

Bonjour, je fais actuellement un player audio(en MFC).
Je souhaite afficher une playlist.Ma playlist fonctionne tout va bien.Mais pour rendre l'interface plus interactive,je voudrai faire apparaitre la playlist.
 
Pour cela j'ai crée une autre boite de dialogue, seulement qd celle-ci est active, je ne peux plus toucher la premiere interface avec les boutons play pause etc, elle est figée en arriere plan.
 
QQ'un pourrait-il me dire comment faire pour que les deux boites de dialog reste active en meme temps?
 
Merci

mood
Publicité
Posté le 24-06-2005 à 10:04:28  profilanswer
 

n°1129672
HelloWorld
Salut tout le monde!
Posté le 24-06-2005 à 12:04:08  profilanswer
 

C'est parce que tu crées un boite modale.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1129881
_TomTom_
Posté le 24-06-2005 à 14:14:05  profilanswer
 

C'est ce que j'ai lu sur MSDN.
Seulement je n'arrive pas a savoir comment procéder pour en créer une différente (modeless).
Pourrais-tu m'aiguiller?

n°1129906
Rits75
to?be:!be
Posté le 24-06-2005 à 14:20:46  profilanswer
 

regardes du coté de ShowWindow si mes souvenirs sont bons :)

n°1130610
slash33
Posté le 25-06-2005 à 10:56:41  profilanswer
 

1. Tu déclares l'objet (sur le tas ou sur la pile à toi de voir) dialogue quelque part de manière que le scope soit toujours valide. Je te conseille comme de le mettre sur la pile en attribut de ton CWinApp
2. Tu appelles la méthode Create du dialogue (faut lui passer l'ID ou la chaîne indentifiant le template du dialogue)
3. Il faut peut être forcer l'affichage via un ShowWindow mais il me semble que ce n'est pas nécessaire.
4. Quand tu n'as plus besoin du dialogue tu le détruis via DestroyWindow. Il ne faut pas détruire directement l'objet sinon la fenêtre (structure maintenue par Windows) n'est pas libérée.
 
Bon je réponds de tête alors il manque peut être quelques explications  :whistle:


Message édité par slash33 le 25-06-2005 à 10:58:43
n°1131883
_TomTom_
Posté le 27-06-2005 à 09:49:27  profilanswer
 

Merci slash33, jvais tout de suite mettre en oeuvre tes explications

n°1131887
slash33
Posté le 27-06-2005 à 09:53:33  profilanswer
 

J'allais oublier: il faut utiliser le constructeur par défaut (sans paramètre) pas celui où tu passe l'ID.
 
Bon un bout de code vaut mieux qu'un long discours donc...

Code :
  1. // déclaration du dialogue non modal de classe CMyModelessDialog
  2. CMyModelessDialog myDialog;
  3. // création du dialog non modal
  4. if (!myDialog.Create(IDD_MYDIALOG, /* NULL = AfxGetMainWnd() */))
  5. {
  6.   // la ressource IDD_MYDIALOG existe-t-elle?
  7. }
  8. // affiche le dialogue non modal. Ce n'est pas nécessaire
  9. // si le style 'visible' (WS_VISIBLE) est coché dans les
  10. // propriétés du dialogue dans l'éditeur de ressources
  11. myDialog.ShowWindow(SW_SHOW);
  12. // destruction du dialogue
  13. myDialog.DestroyWindow();


 
Attention: dès que myDialog est détruit le dialogue l'est aussi (partiellement) donc attention à la portée de la variable.
 
Enfin, tout est expliqué dans la section "Dialog Boxes" de la MSDN. Cherche un peu.


Message édité par slash33 le 27-06-2005 à 10:08:55
n°1132602
_TomTom_
Posté le 27-06-2005 à 16:47:56  profilanswer
 

Merci encore une fois a toi !

n°1132714
slash33
Posté le 27-06-2005 à 18:41:38  profilanswer
 

Ben je te trouves un peu long pour appliquer quelque chose d'aussi rapide   :sleep:

n°1133152
_TomTom_
Posté le 28-06-2005 à 09:20:06  profilanswer
 

c que je bosse sur plusieurs choses a la fois Mosieur!

mood
Publicité
Posté le 28-06-2005 à 09:20:06  profilanswer
 

n°1133196
slash33
Posté le 28-06-2005 à 09:51:55  profilanswer
 

Sinon c bon ça marche?

n°1133245
_TomTom_
Posté le 28-06-2005 à 10:29:45  profilanswer
 

oui! c pour ca que je te remercier! c nikel comme pour le code du passage du CString au char!

n°1133277
slash33
Posté le 28-06-2005 à 10:43:36  profilanswer
 

Ravi de t'avoir aidé.

n°1133282
slash33
Posté le 28-06-2005 à 10:45:03  profilanswer
 

Au fait pour le code de passage du CString au char, fais attention y'a une particularité sur le GetBuffer(). Regarde la description de la méthode dans la MSDN tu comprendras.


Message édité par slash33 le 28-06-2005 à 10:48:39

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Boites de dialogues active au meme moment?

 

Sujets relatifs
[Delphi] Instruction à la fermeture d'un Active XActive Directory - ADSI - Terminal Serveur
vb et contrôle active xBase active directory de test
Activé / désactivé connexion réseau localActivé / désactivé connexion réseau local
Intervertir le nom et le prenom dans l'Active DirectoryActive Directory et VBA Access
active directory | recherche dans les groupes en VBSActive Directory renouvellemet de mdp
Plus de sujets relatifs à : Boites de dialogues active au meme moment?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR