Conteneur, contenu

Résolu
liocifer Messages postés 33 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 5 mars 2010 - 30 juin 2009 à 20:51
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 - 1 juil. 2009 à 23:05
Bonsoir,

Débutant sur vb6, je cherche à créer une application du style :

une form1 avec deux parties : gauche et droite

une partie gauche avec des boutons de commandes permettant de faire apparaitre

(command1) une nouvelle form2 dans la partie de droite
(command2) une nouvelle form3 dans la partie de droite
(command3) une nouvelle form4 dans la partie de droite
etc....

tout ceci en restant dans la fenêtre principale (form1) de façon à ce que quand on réduit la fenêtre principale la form2,form3 ou form4 agisse de la même manière que la fenêtre principale.Que le tout fasse partie d'un même bloc.

Merci de m'indiquer la procédure à suivre.Bonne soirée.

Cordialement.

6 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 juin 2009 à 22:24
salut,

voir les projets en mode MDI

une fenêtre "mère", les autres "filles"

tu peux régler cette propriété directement au niveau de chaque form
++

<hr size="2" width="100%" />
3
liocifer Messages postés 33 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 5 mars 2010
1 juil. 2009 à 18:34
Bonsoir,

Pour ceux à qui ça intéresse voici la solution proposée par quelqu'un du site Developpez.com et qui fonctionne à merveille

En ce qui concerne la MDI, le code suivant (utilisation de fonctions de l'API de Windows) inhibe certaines choses.
Supprime ce que tu ne veux pas inhiber.
Code :

Option Explicit

Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long


Private Sub MDIForm_Activate()
Dim sysmen As Long
sysmen = GetSystemMenu(Me.hwnd, 0)
DeleteMenu sysmen, &HF000&, &H0& ' empêche son redimensionnement
DeleteMenu sysmen, &HF030&, &H0& ' si tu ne veux pas qu'on puisse l'agrandir
DeleteMenu sysmen, &HF020&, &H0& 'si tu ne veux pas qu'on puisse la réduire
DeleteMenu sysmen, &HF010&, &H0& ' si tu ne veux pas qu'on puisse la déplacer
End Sub
3
Flocreate Messages postés 300 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 27 mai 2012 3
30 juin 2009 à 22:36
Bonjour,
Si tu n'as comme contrainte que le fait que lorsque tu abaisse le form1, alors les autre en font de même, tu peux faire la chose suivante :

dans toutes les forms :

private p_windowstate as integer

Private Sub Form_Resize()
    If (Me.Windowstate <> p_Windowstate) then
         p_windowstate = Me.Windowstate

         'mettre toutes les autres fenetres dans le meme etat
         Form2.Windowstate = Me.Windowstate ...
    End If
End Sub

cependant, tu as parlé de zone , droite gauche, ce qui implique que tu souhaiterait que les fenetres soient positionnéent préciséments. c'est faisable, c'est dans le même style que le code ci dessus mais avec un hook en plus (genre un Timer qui se charge de vérifier la position des fenetres et de les remettre a la bonne place tout seul)

je te signal que le fait d'avoir plusieurs fenetres va surcharger ta barre des taches, est-ce ce que tu souhaite ?
sinon, je te conseil l'utilisation du composant "Microsoft Tabled Dialog Control 6.0" a ajouter dans Projet/Composants (TABCTL32.OCX)

voila,
j'espère avoir éclairé ta lanterne, sinon, j'essayerai de faire mieux
0
liocifer Messages postés 33 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 5 mars 2010
30 juin 2009 à 22:58
Pour Pcpt, j'ai testé la mdi.Je voudrais maintenant bloquer le redimensionnement de la mdi et ajuster les forms à cette mdi..Est-ce possible ?

Sinon Flocreate, je testerais ta solution demain, je te tiens au courant.Merci.

Merci d'avance pour vos réponses.

cdt.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 juin 2009 à 23:14
salut,

bloquer le redim?
mère ou fille?....
dans les 2 cas tu bloques à quoi, une taille définie? (tu connais la résolution et la taille de l'écran de tous les clients potentiels?!....)

plein écran? dans ce 2e cas tu peux supprimer le bouton "restore") dans les propriétés de la form, et mettre en "maximized" par défaut, aussi dans les propriétés

<hr size="2" width="100%" />
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
1 juil. 2009 à 23:05
Merci, mais ...
1) tu aurais pu trouver ce code en utilisant le moteur de recherche de ce forum
2) celui qui t'a répondu sur "l'autre forum" est peut-être le même que celui qui te réponds présentement ...

Tu aimes la puissance des fonctions de l'Api de Windows et demandes comment s'en servir intelligemment ? ===>> je suis d'accord, mais si tu en veux plus, ce sera "ICI" (raison pour laquelle tu n'as pas eu de réponse sur ce point  "là-bas")
0
Rejoignez-nous