Fenêtre Modale et chargement de feuilles non modales

Signaler
Messages postés
140
Date d'inscription
mercredi 4 octobre 2000
Statut
Membre
Dernière intervention
12 août 2009
-
cs_cyrilp
Messages postés
140
Date d'inscription
mercredi 4 octobre 2000
Statut
Membre
Dernière intervention
12 août 2009
-
Salut à tous,

Un petit problème un peu compliqué mais très simple dans le principe.

J'ai une feuille principale "frmMain". Le chargement de cette feuille étant particulierement long (plein de données affichées dans une quinzaine d'onglets depuis un serveur distant), j'ai décidé de mettre le contenu de chaque onglet dans une feuille que je charge lorsqu'on clique sur l'onglet.

Ainsi le chargement de la feuille "frmMain" est maintenant très rapide, et lorsqu'on clique sur un onglet, je charge la feuille nécessaire que j'affiche grace à l'api SetParent (Le parent de la feuille devient le .hwnd de l'onglet).

Malheureusement, si ma feuille principale "frmMain" est non modale, cela fonctionne parfaitement, mais j'ai besoin qu'elle soit modale (puisqu'appellée depuis une autre feuille), et dans ce cas, j'ai le fameux message : "Err. 401 Impossible de charger une fenêtre non modale lorsqu'une fenêtre modale est déjà ouverte !"

I Need HELP !
Y-a t'il une soluce ?
Merci d'avance...
--
Cyril P.

3 réponses

Messages postés
1079
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
1 janvier 2012

J'ai eu le même problème que je n'ai jamais résolu "proprement".

J'ai du jouer en remettant le focus à la fenêtre qui aurait du être modale lorsqu'elle le perds.

Pas mieux

++
moustachu
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
19
Dans une feuille chargée modale, tu ne peux pas charger autre chose que des forms modales.

Christophe R.
Messages postés
140
Date d'inscription
mercredi 4 octobre 2000
Statut
Membre
Dernière intervention
12 août 2009

C'est bon j'ai trouvé la solution...

J'affichais la feuille "secondaire" avec la méthode suivante :

MaFeuille2.show

Cela provoquait l'erreur...
Un petit coup d'API plus tard, cela donne :

ShowWindow MaFeuille2.hwnd,SW_SHOWWINDOW

Et maintenant tout fonctionne !

Merci quand même ;)

--
Cyril P.