Passer d'une Form à une autre sans trop de dégats... [Résolu]

Signaler
Messages postés
10
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
4 décembre 2004
-
Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
-
Salut à tous.

J'ai commencé à faire une interface d'installation en VB6 mais je me heurte à un problème (pe important mais pénible).

Mon programme est décomposé en 6 form différentes qui son supposées se suivre ( bouton "Suivant" "Retour")

Pour passer d'une form à l'autre, je met un formX+1.show (x+1 pour la compéhension ici seulement) dans la formX et un unload formX dans la X+1.

Startupposition est en centerowner.
les forms sont en fixed dialog (pour eviter le redimensionnement)

J'ai les problèmes suivant à la compilation:
- le passage d'une form à l'autre flash du fait du show/unload
- Si je déplace une des form dans l'écran puis que je clique sur "suivant" ou "retour" la form suivante ce met au centre de l'écran (alors que je suis bien en center owner)

Pouvez vous me dire si je me complique la vie pour rien, si il existe une façon bien plus simple de faire du multiform simplement pour limiter les bug du style du mien (bon c'est un bidouillage maison mais mon nivo ne me permet pas plus)

Merci d'avance, toutes les idées sont les bienvenues.

Si vous voulez consulter le source pour comprendre, je peux vous l'envoyer.

Jansen
Dur dur d'être un débutant... il faut lutter c looonnnngg...

8 réponses

Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
3
premièrement, pour éviter le flash, il faut mettre le formX.unload dans l'évènement activate de formX+1.

Ensuite, pour garder la même position pour chaque fenêtre,ajoute ce code dans l'évènement Click du bouton suivant :

formX+1.show
formX+1.left = formX.left
formX+1.top = formX.top

Voilà, si tu as encore un pbm, demande moi...
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
1016
Date d'inscription
samedi 22 mars 2003
Statut
Membre
Dernière intervention
24 juin 2008

ca me parait normal pour le centrage, tu n'est pas en MDI alors il centre par rapport a "l'objet" dont il appartient et dans ton cas, par rapport a l'ecran. Enleve l'otpion avant de de le unload.

puis si tu veux résoudre ton, je serais pluôt d'avis a ce que tu utilises le hide, comme ca tu n'as pas besoin d'enlever ta propriété et puis ca te permet de ne pas decharger ta form et par consequent, de la recharger quand tu la mettras en visible, effet de flash moindre
puis préferes rendre visible pui ensuite rendre l'autre hide

me.hide
me.show

bonne prog
liquide
Messages postés
10
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
4 décembre 2004

Bien merci Scalpweb.

Tout marche super bien, rien à redire. Maintenant tout s'ouvre sans aucun problème coté flashing des fenêtres.

Je vais vérifier le centrage des forms mais je pense que ce sera sans problèmes.

Si j'ai un problème je te recontact ^^. Merci à vous deux.

Jansen
Dur dur d'être un débutant... il faut lutter c looonnnngg...
Messages postés
10
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
4 décembre 2004

bien le centrage des form marche correctement si ce n'est que je me retrouve avec un flash qui correspond au déplacement dela form chargée pour ce mettre en position.

mais sinin l'idée de replacement est correcte = problème réglé merci Scalpweb pour tout !

Dur dur d'être un débutant... il faut lutter c looonnnngg...
Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
3
Pour le petit pbm de flash retsant, je peux t'aider si tu m'affiche ton code...
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
Le problème du flashing lors du déplacement pourrait être a mon avis résolu par ce bout de code
Load formX+1
formX+1.left = formX.left
formX+1.top = formX.top
formX+1.show


Christophe R.
Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
3
Oui, c ce que javais présenté avant je crois...
Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
3
Ah, non, pardon, je viens de comprendre...
Oui, tu as raison, il faut placer le form.show après les deux lignes
formX+1.left = formX.Left
formX+1.top = formX.Top

Autant pour moi...