SÉPARER UN ESPACE DE TRAVAIL DANS UNE FEUILLE MDI ( REPONSE FORUM)
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012
-
29 oct. 2003 à 10:44
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
5 mai 2008 à 10:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 5 mai 2008 à 10:38
en subclassant et en interceptant des WM_NCACTIVATE ou autre, ca doit etre faisable
cs_ym_trainz
Messages postés160Date d'inscriptionvendredi 27 janvier 2006StatutMembreDernière intervention21 avril 2015 3 mai 2008 à 12:11
Renfield, petite question :
Comment faire pour que la fenêtre MDI mère garde visuellement le focus lorsque l'on clique sur une form fille ?
On peut toujours bidouiller mais je pense que tu dois déjà y avoir remédié.
Cordialement,
ym_trainz
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 29 avril 2008 à 06:21
m'en souvenais même pas, cette source ^^
cs_ym_trainz
Messages postés160Date d'inscriptionvendredi 27 janvier 2006StatutMembreDernière intervention21 avril 2015 28 avril 2008 à 22:48
L'affichage est revenu. Je peux noter ;-)
cs_ym_trainz
Messages postés160Date d'inscriptionvendredi 27 janvier 2006StatutMembreDernière intervention21 avril 2015 28 avril 2008 à 22:47
Encore du super boulot, facilement exploitable !
Décidément, trop fort ce Rey !
Merci !
Cordialement,
ym_trainz
10/10 ! (mais je n'ai pas l'affichage des ***** pour voter :-)
cs_DomZ
Messages postés1Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention22 février 2005 22 févr. 2005 à 14:49
Excellent travail !
Existe-il des composants commerciaux comme celui-ci ou des composants plus élolués ?
Merci bcp
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 juil. 2004 à 12:12
maximized ?
Il faut le coder soit même....(Via API ou en changeant la Width et le Height)
pour qu'elle suive les redimensionnements de ta MDI mère, a vrai dire, c'est censé le faire deja, puisque la propriété Align est definie...
Minikisscool
Messages postés112Date d'inscriptionmardi 30 mars 2004StatutMembreDernière intervention 1 avril 20081 20 juil. 2004 à 09:51
j'ai une autre question au passage, lorsque tu as ta MDI parent avec menu et statusbar, et que je crée une seule ReyMDIAssistant.
Est il possible de lui dire dans le Form Load que la ReyMDIAssistant soit en Maximised.
De même lorsque je redimensionne mon programme, la ReyMDIAssistant est redimensionné.
Pour la 2ème question, je pense que la réponse est oui, mais pour la 1ère je ne sais pas si c'est possible.
Merci
Minikisscool
Messages postés112Date d'inscriptionmardi 30 mars 2004StatutMembreDernière intervention 1 avril 20081 20 juil. 2004 à 09:38
Non c'est bon, j'ai trouvé
je n'ai pas regardé dans la barre d'outil.
merci de l'aide
je vais essayer de tester le tout avec mon appli
merci , c'est du bon boulot tout ça :-)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 juil. 2004 à 09:33
En fait, on insère pas directement "une form" on place un Controle qui va ensuite etre definie comme fenetre parente d'une Form. De sorte que cette dernière soit incorporée au controle, dans la fenetre MDI
Dans la barre des outils, a coté des divers boutons et textboxes... tu dois voir le controle utilisateur présent dans le Zip...
il te suffit d'en placer un dans la MDIForm
ensuite, il faut aller ajouter du code......
dans le Zip, dans le code de la Form,
ce sont les lignes SetParent.....
si tu as besoin de davantage d'information.... hésites pas.
Minikisscool
Messages postés112Date d'inscriptionmardi 30 mars 2004StatutMembreDernière intervention 1 avril 20081 20 juil. 2004 à 08:53
je suis désolé mais là je ne comprend pas.
Si je prend l'exemple avec la MDI parent et que je supprime sur la MDI parent, par exemple les 2 form, et bien je ne sais pas comment le recréer.
La question est peut être bête mais comment tu fais pour insérer les 2 form sur la MDI parent ?
Merci
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 juil. 2004 à 08:36
Ces deux form sont des Form classiques.... elles pourraient être remplacée par toute autre fenetre (bouton / Frame / PictureBox / Treeview...)
pour les placer où bon te semble, il te suffit de placer les UserControl comme bon te semble, et de lier tel control a la Form que tu aura choisie.
Minikisscool
Messages postés112Date d'inscriptionmardi 30 mars 2004StatutMembreDernière intervention 1 avril 20081 20 juil. 2004 à 08:31
il y a une chose que je ne comprend pas dans la source.
On a le contrôle utilisateur et dans la fenêtre principale (MDI parent) on a deux Form. une à gauche et une à droite.
Comment on fait ces 2 Form ?
pour en mettre une en haut, ou en bas ?
merci d'avance
Minikisscool
Messages postés112Date d'inscriptionmardi 30 mars 2004StatutMembreDernière intervention 1 avril 20081 13 juil. 2004 à 10:46
Je viens de retélécharger le zip et ça fonctionne correctement
ça ne plante plus
Merci bcp
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 13 juil. 2004 à 10:35
NB : Xp ne change rien a la chose.....
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 13 juil. 2004 à 10:34
normallement ca devrai plus pourtant !
tu devrais avoir ce code :
'# decharge toutes les fenetres....
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
SetParent Form1.hWnd, Me.hWnd
SetParent Form2.hWnd, Me.hWnd
Dim Form As Form
For Each Form In Forms
Unload Form
Next Form
End Sub
dans le Zip, les lignes SetParent etaient en commentaire .... je joulais verifier que c'est bien ca qui faisait planter, et j'ai oublier de les enlever.....
Minikisscool
Messages postés112Date d'inscriptionmardi 30 mars 2004StatutMembreDernière intervention 1 avril 20081 13 juil. 2004 à 09:39
J'ai essayé la nouvelle version que tu as mis en ligne, et elle plante toujours chez moi
je suis sous XP
MErci
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 13 juil. 2004 à 09:03
corrigé....
il fallait de detacher les Form du controle, qui doit, je suppose etre dechargé trop tot
bonne continuation
Minikisscool
Messages postés112Date d'inscriptionmardi 30 mars 2004StatutMembreDernière intervention 1 avril 20081 13 juil. 2004 à 08:25
Bonjour,
je voudrais tester la cette source sous WInXP
le fichier zip contient encore la source qui plante sous XP
est il possible de mettre à jour cette source dans le zip.
J'ai lu les commentaires et j'ai voulu tester la source avec les corrections mais j'ai une erreur à la ligne
If Form.Name <> "MDIForm1" Then
Merci d'avance
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 30 oct. 2003 à 15:48
j'avais pas ce soucis.... désolé, ca aide pas au debug !!
je suis au boulot, et de chez moi j'aurais sans doute pu voir...
ces lignes sont la car bien souvent avec des MDI, des fenetres restent ouvertes, même malgré un End, tout depends du boulot qu'elles font...
la modif apportée est assez logique, je m'en veux de ne pas l'avoir vue....
jacquesmazurier
Messages postés3Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention30 octobre 2003 30 oct. 2003 à 14:59
Re,
j'ai résolu le problème en passant à false la propriété MDIChild des forms.
D'autre par je ne Unload pas la MDI, mais je ferme tous avec End :
Dim Form As Form
For Each Form In Forms
If Form.Name <> "MDIForm1" Then
Unload Form
End If
Next Form
End
Pas de disfonctionnements après cette modif, et le code reste à effet constant.
jacquesmazurier
Messages postés3Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention30 octobre 2003 30 oct. 2003 à 14:40
Salut,
Exact, je confirme le malaise sous Windows XP Pro.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 29 oct. 2003 à 14:24
Etrange !!!
je regardes ca dans l'apres midi, et je te tiens au courant....
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 29 oct. 2003 à 11:53
Ben c'est encore moi, il y à un blème malgré tout, sur win2000 lorsque l'on ferme l'application j'ai un message comme quoi VB6 a généré des erreures et sera fermé par windows etc.... et cela se produit lors du unload des forms ??
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 29 oct. 2003 à 10:44
Voilà du bon code à la Renfield, pas sure d'avoir tout compris comment ça marche, mais une chose est certaine je m'en servirai.
Allez je met 9
5 mai 2008 à 10:38
3 mai 2008 à 12:11
Comment faire pour que la fenêtre MDI mère garde visuellement le focus lorsque l'on clique sur une form fille ?
On peut toujours bidouiller mais je pense que tu dois déjà y avoir remédié.
Cordialement,
ym_trainz
29 avril 2008 à 06:21
28 avril 2008 à 22:48
28 avril 2008 à 22:47
Décidément, trop fort ce Rey !
Merci !
Cordialement,
ym_trainz
10/10 ! (mais je n'ai pas l'affichage des ***** pour voter :-)
22 févr. 2005 à 14:49
Existe-il des composants commerciaux comme celui-ci ou des composants plus élolués ?
Merci bcp
20 juil. 2004 à 12:12
Il faut le coder soit même....(Via API ou en changeant la Width et le Height)
pour qu'elle suive les redimensionnements de ta MDI mère, a vrai dire, c'est censé le faire deja, puisque la propriété Align est definie...
20 juil. 2004 à 09:51
Est il possible de lui dire dans le Form Load que la ReyMDIAssistant soit en Maximised.
De même lorsque je redimensionne mon programme, la ReyMDIAssistant est redimensionné.
Pour la 2ème question, je pense que la réponse est oui, mais pour la 1ère je ne sais pas si c'est possible.
Merci
20 juil. 2004 à 09:38
je n'ai pas regardé dans la barre d'outil.
merci de l'aide
je vais essayer de tester le tout avec mon appli
merci , c'est du bon boulot tout ça :-)
20 juil. 2004 à 09:33
Dans la barre des outils, a coté des divers boutons et textboxes... tu dois voir le controle utilisateur présent dans le Zip...
il te suffit d'en placer un dans la MDIForm
ensuite, il faut aller ajouter du code......
dans le Zip, dans le code de la Form,
ce sont les lignes SetParent.....
si tu as besoin de davantage d'information.... hésites pas.
20 juil. 2004 à 08:53
Si je prend l'exemple avec la MDI parent et que je supprime sur la MDI parent, par exemple les 2 form, et bien je ne sais pas comment le recréer.
La question est peut être bête mais comment tu fais pour insérer les 2 form sur la MDI parent ?
Merci
20 juil. 2004 à 08:36
pour les placer où bon te semble, il te suffit de placer les UserControl comme bon te semble, et de lier tel control a la Form que tu aura choisie.
20 juil. 2004 à 08:31
On a le contrôle utilisateur et dans la fenêtre principale (MDI parent) on a deux Form. une à gauche et une à droite.
Comment on fait ces 2 Form ?
pour en mettre une en haut, ou en bas ?
merci d'avance
13 juil. 2004 à 10:46
ça ne plante plus
Merci bcp
13 juil. 2004 à 10:35
13 juil. 2004 à 10:34
tu devrais avoir ce code :
'# decharge toutes les fenetres....
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
SetParent Form1.hWnd, Me.hWnd
SetParent Form2.hWnd, Me.hWnd
Dim Form As Form
For Each Form In Forms
Unload Form
Next Form
End Sub
dans le Zip, les lignes SetParent etaient en commentaire .... je joulais verifier que c'est bien ca qui faisait planter, et j'ai oublier de les enlever.....
13 juil. 2004 à 09:39
je suis sous XP
MErci
13 juil. 2004 à 09:03
il fallait de detacher les Form du controle, qui doit, je suppose etre dechargé trop tot
bonne continuation
13 juil. 2004 à 08:25
je voudrais tester la cette source sous WInXP
le fichier zip contient encore la source qui plante sous XP
est il possible de mettre à jour cette source dans le zip.
J'ai lu les commentaires et j'ai voulu tester la source avec les corrections mais j'ai une erreur à la ligne
If Form.Name <> "MDIForm1" Then
Merci d'avance
30 oct. 2003 à 15:48
je suis au boulot, et de chez moi j'aurais sans doute pu voir...
ces lignes sont la car bien souvent avec des MDI, des fenetres restent ouvertes, même malgré un End, tout depends du boulot qu'elles font...
la modif apportée est assez logique, je m'en veux de ne pas l'avoir vue....
30 oct. 2003 à 14:59
j'ai résolu le problème en passant à false la propriété MDIChild des forms.
D'autre par je ne Unload pas la MDI, mais je ferme tous avec End :
Dim Form As Form
For Each Form In Forms
If Form.Name <> "MDIForm1" Then
Unload Form
End If
Next Form
End
Pas de disfonctionnements après cette modif, et le code reste à effet constant.
30 oct. 2003 à 14:40
Exact, je confirme le malaise sous Windows XP Pro.
29 oct. 2003 à 14:24
je regardes ca dans l'apres midi, et je te tiens au courant....
29 oct. 2003 à 11:53
29 oct. 2003 à 10:44
Allez je met 9