Feuille MDI Mere/Fille & redimenssion

cs_RegiO Messages postés 7 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 16 juin 2005 - 16 juin 2005 à 10:21
cs_RegiO Messages postés 7 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 16 juin 2005 - 16 juin 2005 à 10:34
Bonjour à tous,

j'ai besoin de votre aide :( j'essaie de developper un petit programme avec VB6, pour qu'il soit plus esthétique et que cela fasse plus présentable. J'ai crée une feuille MDI (qui est donc la feuille mére), sur cette feuille MDI j'utilise le créateur de menu pour ajouter des menu type Fichier, Edition...ensuite je crée une form et j'applique a l'attribut MDIchild la valeur true. Pour finir, j'applique au menu Fichier l'instruction

Private Sub menu_Click()
Form1.Show
End Sub

Jusque la tout va bien...mais lorsque je lance mon appli et que je clique sur Fichier alors ma form (minimiser car j'ai laissé la valeur par défaut) se place juste en dessous du menu et en plus sa taille heigth et witdh est changée automatique du coup ma form est étirée.

Donc :

1./ Pourquoi cette form se redimenssionne ?
2./ Comment faire pour que cette form ne se redimenssionne pas ?

On peut appliquer ce code :
' Centre la form.
Me.Top = (MDIForm1.ScaleHeight - ScaleHeight) / 2
Me.Left = (MDIForm1.ScaleWidth - ScaleWidth) / 2
' Permet de remettre les bonnes taille
Me.Width = 2500
Me.Height = 2500
,mais existe-t-il une autre methode car lorsque l'on applique ce code on voit ces modifs au lancement de la form.

3./ Comment placer automatique la form au centre de la feuille Mére ?

Désolé pour le pavé à lire lol mais j'aimerai comprendre le pourquoi du comment...

...Merci d'avance des futures réponses...et si vous avez de bon site ou tuto traitant des MDI je suis preneur, car je débute dans le VB et j'y connais rien de rien mais j'aimerai apprendre.

1 réponse

cs_RegiO Messages postés 7 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 16 juin 2005
16 juin 2005 à 10:34
J'ai pas trouvé le bouton pour réediter mon message, j'apporte quelques correction à mon code.

2./ Pour centrer cette form avec ces dimenssions par défaut :
Dans le code de la form, on peut placer ce code :


Private Sub Form_Load()
' Permet de mettre les bonnes dimenssions de la form
Me.Width = 2500 '< -- Largeur de la form crée.
Me.Height = 2500 ' <-- Hauteur de la form crée.
' Centre la form au centre de l'écran.
Me.Top = (MDIForm1.ScaleHeight - ScaleHeight) / 2
Me.Left = (MDIForm1.ScaleWidth - ScaleWidth) / 2
End Sub

Apparement, en appliquant Load au lieu de Initialize cela resoud le probléme des changements que l'on voyait s'effectuer.

Ceci est une bonne solution je pense mais j'aimerai comprendre pourquoi les form filles sont automatiques redimenssionnées et positionnées.
0
Rejoignez-nous