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

  FORUM HardWare.fr
  Programmation
  C++

  2 boites de dialogues dans un thread secondaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

2 boites de dialogues dans un thread secondaire

n°1763340
cyte
Posté le 22-07-2008 à 18:28:57  profilanswer
 

bonjour,  
 
Pour une application, utilisant visual2008 et les MFC, je crée un thread dans lequel je crée mon IHM principale (create (IDD...) puis ShowWindow()).
A la sélection d'un item du menu de l'IHM principale, je souhaite crée une boite de dialogue modale dont l'IDD est attaché à une classe.
 
Au final, à l'affichage de la deuxieme boite de dialogue, il n'est plus possible de cliquer, ni sur l'une ni sur l'autre, comme si elles etaient occupées. En mode debug, je m'apperçois que le code est bien dans le peekMessage de la fonction DoModal(). Y aurait-il un conflit quelque part?
 
Pour illuster voici les parties du code :
 
procedure du thread secondaire :
 
// Creation de l'IHM principale //
CIhmPrincipal main_ihm ;
 
//affichage de l'IHM principale
main_ihm.StartIhm();

 
dans le constructeur de la classe de l'IHM principale :
AfxGetApp()->m_pMainWnd = this;
this->Create(IDD_IHM_PRINCIPAL);

 
Fonction StartIhm() :
...
this->ShowWindow(SW_SHOWMAXIMIZED);
 
Dans la fonction appelée à la selection de l'item du menu:
int result = 0;
this->SetForegroundWindow();
m_pcIhmSecond = new CIhmSecond(this);
result = m_pcIhmSecond->DoModal();

 
 
Merci d'avance.

mood
Publicité
Posté le 22-07-2008 à 18:28:57  profilanswer
 

n°1763382
Joel F
Real men use unique_ptr
Posté le 22-07-2008 à 20:23:26  profilanswer
 

multi-thread+fenere modale qqpart ca sent pas bon. Pourquoi ne pas avoir des fenetres non modales ?

n°1763484
cyte
Posté le 23-07-2008 à 00:06:30  profilanswer
 

la principale n'est pas modale mais pour la seconde, je souhaite le comportement d'une fenetre modale (attente de l'appui d'un bouton pour continuer le reste)

n°1763543
Joel F
Real men use unique_ptr
Posté le 23-07-2008 à 09:08:54  profilanswer
 

pourquoi la threader alors ?

n°1763927
cyte
Posté le 23-07-2008 à 23:37:10  profilanswer
 

mon appli est décomposée en plusieurs threads pour effectuer des taches précises.
Parmi elles, il y a le thread pour la partie IHM.

n°1763928
Joel F
Real men use unique_ptr
Posté le 23-07-2008 à 23:38:57  profilanswer
 

ok, mais bon, ttes tes fenetres appartiennent à ce seul thread, sinon je vois pas l'interet

n°1763942
cyte
Posté le 24-07-2008 à 00:14:55  profilanswer
 

en effet, toutes les ihms appartiennent au même thread comme indiqué dans la portion de code que j'ai donné.

n°1766063
cyte
Posté le 28-07-2008 à 18:57:29  profilanswer
 

personne n'a une idée????
 
Que se passe t'il lorsqu'il y a deux peekMessage() qui tournent en même temps (1 dans le thread depuis lequel l'ihm principale tourne et l'autre dans la fonction doModal() de la deuxieme boite de dialogue)?


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

  2 boites de dialogues dans un thread secondaire

 

Sujets relatifs
lancer une IHM depuis un worker threadAffichage dialog dans un thread
Problème avec les pointeurs (thread)perte d'evenements inter thread C++
[Java/J2ME] Deux Thread : dont un Thread-OutilsRépartition de thread sur une appli monothreadée ?
Un usage de boost::function dans un appel à boost::threadPositionnement absolute, flux, taille des boites
Usage de Singleton de Boost::Detail::Thread ?Dessiner Graphes : Boites avec des connecteurs et des liens
Plus de sujets relatifs à : 2 boites de dialogues dans un thread secondaire


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