PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → MDIMenuFenêtre(mdiCascade)
MDIMenuFenêtre(mdiCascade)
Iniciado por ivalaur, ago., 18 2005 5:32 PM - 4 respostas
Publicado em agosto, 18 2005 - 5:32 PM
Salut,

j'ai une fenetre mdi avec des fenetres filles.
quand je met mdifenetre(mdicascade) la fenetre en premier plan active garde la bonne taille (largeur et hauteur) mais les fenetres deriere elle en cascade leur taille est reduite .
j'ai essaté de saugarder la largeur et hauteur initiale mais ils ne s'appliquent qu'a la fenetre active en premier plan donc celle ouverte en dernier.
comment appliquer mdimenufenetre(mdi cascade) à toutes les fentres qui sont ouvertes
dans ma fenetre mdimere.

merci de votre reponse.
Publicado em agosto, 18 2005 - 5:50 PM
restore tes valeurs dans l'évenement prise de focus de tes fenetres.
cordialement
Publicado em agosto, 18 2005 - 5:51 PM
Par code on peut avoir le même résultat :

NomAlias est une chaîne
i est entier = 1
//Pour chaque fenetre MDI
NomAlias = MDIEnumèreFille (i)
TANTQUE NomAlias <> ""
{NomAlias}..X=i*20-20
{NomAlias}..Y=i*20-20
// Fenêtre fille suivante
i++
NomAlias = MDIEnumèreFille (i)
FIN
Publicado em agosto, 18 2005 - 6:56 PM
Salut patrick,

le code que tu m'a donnée marche bien mais les fenetres s'affichent en cascade mais pas comme le mdicascade .

mdi cascade :la fenetre ouverte en dernier est active mais elle est la plus basse dans l'axe y alors que les fenetres non actives sont affiché derriere elle avec une valeur y plus grande.

le code que tu mas donné:la fenetre ouverte en dernier est active mais elle est la plus haute dans l'axe y alors que les fenetres non actives sont affiché derriere elle avec une valeur y plus petite.


peux tu m'expliquer un peu ton code : le i dans mdienumerefille,

le :i*20-20

et le i ++


merci de ton aide trés utile .
Publicado em agosto, 18 2005 - 7:52 PM
//Le code avec quelques explications

NomAlias est une chaîne
i est entier = 1

PosX,PosY sont des entiers=0
//ces variables déterminent la position de la fenetre
//on commence par le coin haut et gauche

//la fonction MDIEnumèreFille(i) permet de renvoyer l'alias de la i ème fenetre ouverte (dans l'ordre d'ouverture je pense mais à vérifier)

//Donc pour chaque fenetre MDI ouverte
NomAlias = MDIEnumèreFille (i)
TANTQUE NomAlias <> ""
{NomAlias}..X=PosX //on fixe la position de la fenetre
{NomAlias}..Y=posY
Posx=PosX+20 //on se déplace de 20 pixels vers la gauche et vers le bas
PosY=PosY+20

// Fenêtre fille suivante
i++
NomAlias = MDIEnumèreFille (i)
FIN

//à toi de peaufiner