Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème d'ouverture de feuille fille en MDI

2 réponses
Avatar
Denis P
Bonjour tout le monde,

Voilà mon petit problème, dans une application MDI, j'ai plusieurs feuilles
filles que je peux faire afficher à partir d'un menu dans ma feuille MDI
mère. Pour afficher une feuille fille à partir de mon menu je fais
simplement

Form1.Show

Toutes mes feuilles s'affichent très bien de cette façon, pas de problème.
Par contre, lorsqu'une de mes feuilles(présentement une seule de mes
feuilles me fait cela) est déjà chargé mais que c'est une autre qui est à
l'avant plan(donc qui a le focus), si je la sélectionne à nouveau dans le
menu, cette feuille n'obtient pas le focus et ne vient pas se positionné en
avant plan. J'ai beau charger toutes mes feuilles, aussitôt que je la
sélectionne dans le menu, elle s'affiche en avant plan comme prévue, sauf
une. Pourquoi ?

En passant, oui toutes les feuilles que je fais afficher sont toutes des
feuilles filles dont la propriété MDIChild est à True.

Quelqu'un peut m'expliquer de quelle façon je dois procéder, pour cette
feuille s'affiche bien à l'avant comme mes autres feuilles.

Merci à l'avance pour vos réponses.

@ +

Denis P

2 réponses

Avatar
François Picalausa
"Denis P" a écrit dans le message
de news:
Bonjour tout le monde,

Voilà mon petit problème, dans une application MDI, j'ai plusieurs
feuilles filles que je peux faire afficher à partir d'un menu dans ma
feuille MDI mère. Pour afficher une feuille fille à partir de mon
menu je fais simplement

Form1.Show

Toutes mes feuilles s'affichent très bien de cette façon, pas de
problème. Par contre, lorsqu'une de mes feuilles(présentement une
seule de mes feuilles me fait cela) est déjà chargé mais que c'est
une autre qui est à l'avant plan(donc qui a le focus), si je la
sélectionne à nouveau dans le menu, cette feuille n'obtient pas le
focus et ne vient pas se positionné en avant plan. J'ai beau charger
toutes mes feuilles, aussitôt que je la sélectionne dans le menu,
elle s'affiche en avant plan comme prévue, sauf une. Pourquoi ?

En passant, oui toutes les feuilles que je fais afficher sont toutes
des feuilles filles dont la propriété MDIChild est à True.

Quelqu'un peut m'expliquer de quelle façon je dois procéder, pour
cette feuille s'affiche bien à l'avant comme mes autres feuilles.

Merci à l'avance pour vos réponses.

@ +

Denis P



Bonjour/soir,

Je te conseille de vérifier en pas à pas que tout est exécuté comme il
faut.. et trouver à quel moment le problème survient.
Tu peux aussi essayer frmMaMDIChild.SetFocus

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Avatar
Denis P
Bonjour François,

C'est bien ce que j'ai fait, vérifier en pas à pas, mais je n'ai rien trouvé
d'anormal. J'ai aussi essayé avec MaForm.SetFocus et ça ne fonctionnait pas
plus. J'ai beau chercher et essayer de comprendre, je crois que je ne
comprendrai jamais le pourquoi.

Quoi qu'il en soit, à force de chercher à gauche et à droite, par un curieux
hasard je suis tombé sur la méthode ZOrder. Mon problème est donc réglé,
ZOrder force l'afffichage en avant ou en arrière plan selon la valeur qu'on
lui donne. Donc je fais simplement.

MaForm.ZOrder 0
MaForm.Show

et tout s'affiche convenablement. J'aurai au moins découvert cette méthode
que je ne connaissais pas encore.

@ +

Denis P
"François Picalausa" a écrit dans le message de
news:eDKc1$
"Denis P" a écrit dans le message
de news:
> Bonjour tout le monde,
>
> Voilà mon petit problème, dans une application MDI, j'ai plusieurs
> feuilles filles que je peux faire afficher à partir d'un menu dans ma
> feuille MDI mère. Pour afficher une feuille fille à partir de mon
> menu je fais simplement
>
> Form1.Show
>
> Toutes mes feuilles s'affichent très bien de cette façon, pas de
> problème. Par contre, lorsqu'une de mes feuilles(présentement une
> seule de mes feuilles me fait cela) est déjà chargé mais que c'est
> une autre qui est à l'avant plan(donc qui a le focus), si je la
> sélectionne à nouveau dans le menu, cette feuille n'obtient pas le
> focus et ne vient pas se positionné en avant plan. J'ai beau charger
> toutes mes feuilles, aussitôt que je la sélectionne dans le menu,
> elle s'affiche en avant plan comme prévue, sauf une. Pourquoi ?
>
> En passant, oui toutes les feuilles que je fais afficher sont toutes
> des feuilles filles dont la propriété MDIChild est à True.
>
> Quelqu'un peut m'expliquer de quelle façon je dois procéder, pour
> cette feuille s'affiche bien à l'avant comme mes autres feuilles.
>
> Merci à l'avance pour vos réponses.
>
> @ +
>
> Denis P

Bonjour/soir,

Je te conseille de vérifier en pas à pas que tout est exécuté comme il
faut.. et trouver à quel moment le problème survient.
Tu peux aussi essayer frmMaMDIChild.SetFocus

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com