Afficher plusieurs fois la meme FORM

CyberFlash Messages postés 38 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 31 mai 2004 - 11 janv. 2004 à 14:52
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 12 janv. 2004 à 07:25
Salut,

Je voulais savoir s'il est possible avec VB et la fonction FORM.SHOW d'ouvrir plusieurs fois la même fenêtre.
Je m'explique:
Quand on utilise cette fonction, la fenêtre s'affiche et si elle l'est déjà elle prend le focus. Moi j'aimerais qu'il en affiche une deuxième identique puis une troisième etc...

Ce serait pour un Chatte. Comme avec MSN Messenger.

Merci si quelqu'un à une solution.

CyberFlash

9 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
11 janv. 2004 à 15:17
C'est possible si tu crée soit des fenêtre enfants pour une application MDI, soit en faisant un groupe de contrôle de feuille.

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
CyberFlash Messages postés 38 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 31 mai 2004
11 janv. 2004 à 17:22
Euh oui.....
Tu pourrais un peux m'expliquer parce que là je vois pas.
C'est marche comment, en gros, tout ça?

Cyberflash
0
CyberFlash Messages postés 38 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 31 mai 2004
11 janv. 2004 à 17:24
Euh oui.....
Tu pourrais un peux m'expliquer parce que là je vois pas.
C'est marche comment, en gros, tout ça?

Cyberflash
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
11 janv. 2004 à 17:52
En fait, je viens de vérifier et tu ne peux pas faire de groupes de feuilles, ce qui est bien dommage !

Donc je pense que la meilleure solution (sans passer par les fonctions API donc), c'est de créer une application MDI : Une feuille mère qui contient toutes les feuilles filles (comme VB par exemple).

Pour cela, il te faut une feuille MDI (par Nouveau/Feuille MDI) qui sera la feuille principale de ton application, et dans celle-ci tu pourras afficher les feuilles filles. Pour définir une feuille fille, il faut mettre la propriété MDIChild d'une feuille à True, et ainsi, tu peux créer plusieurs instances de la même feuille très simplement grâce à l'instruction :

Dim frm As Form
Set frm = New frmChild 'si frmChild est le nom de ta feuille fille.
frm.Show

Et lorsque tu n'a plus besoin de ta feuille :
Set frm = Nothing

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0

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

Posez votre question
CyberFlash Messages postés 38 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 31 mai 2004
11 janv. 2004 à 18:39
Merci C'est cool. ça marche nickel.
Mais est-ce qu'il y a un moyen de faire exactement la même chose sans avoir cette feuille MDI?

CyberFlash
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
11 janv. 2004 à 19:17
C'est possible en passant par les fonctions API, mais c'est beaucoup plus long car il faut créer les contrôles de façon dynamique ! Je ne pense pas que ce soit possible directement avec les fonctionnalités VB...

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
CyberFlash Messages postés 38 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 31 mai 2004
11 janv. 2004 à 19:44
bon ben tent pis. Je vais me débrouiller comme ça.
Allez merci pour tout

CyberFlash
0
K@zuya Messages postés 306 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 15 février 2016
12 janv. 2004 à 07:13
Il est tout a fait possible de creer des clones sans passer par les MDI, regarde ça:
Dim Feuille(5) As New Form1

Private Sub Command1_Click()
If Me.Tag = "CLONE" Then Exit Sub
For i = 0 To 5
    Feuille(i).Tag = "CLONE"
    Feuille(i).Show
Next
End Sub


K@zuya 8-)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
12 janv. 2004 à 07:25
Ah oui exact Kazuya ! Je ne pensais plus à passer par des objets dynamique.

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
Rejoignez-nous