Comment créer dynamiquement des form?

Résolu
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015 - 30 avril 2007 à 17:52
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 1 mai 2007 à 11:26
Salut,
Je cherche à pouvoir créer des form dynamiquement mais je n'y arrive pas. J'ai vu une source sur ce site pour créer des optionbutton mais pour les form il ne veut pas. Peut-être il faut créer un groupe de controle (pour que derrière le nom de la form à copier il y ait le "(0)").
Si quelqu'un a une solution... qu'il se manifeste

Merci d'avance

--------------------------------------------------------------------------
Visitez mon site sur http://bp-software.ifrance.com/

6 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
30 avril 2007 à 18:03
Salut,

beh moi je rajouterai une Form dans le Projet (donc Form2 par exemple)

Et quand tu as besoin,

Dim oform As New Form2

With oform
    .Top = 0
    .Left = 0
    .Width = 100
    .Height = 100
    .Show
End With

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
30 avril 2007 à 20:31
De rien,

et pour info, si ta Form principale est non modale, tu peux en afficher plusieurs en même temps (comme un tableau de variables) avec des indices.
La condition c'est qu'il doivent tous être non modal. Petit exemple :

Private Sub CommandButton1_Click()
Dim oform(1) As New Form2, i As Long

DoEvents
For i = 0 To 1
    With oform(i)
        .StartUpPosition = 0
        .Top = 0
        If i = 0 Then .Left = 0 Else .Left
= oform(i - 1).Left +
oform(i - 1).Width
        .Width = 100 * (i + 1)
        .Height = 100 * (i + 1)
        .Caption = "UserForm" & CStr(i + 2)
        .Show False
    End With
Next i

End Sub

~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

Pour le StartUpPosition, c'est du VBA, je ne sais plus si en vb6 c'est la même propriété

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
3
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
30 avril 2007 à 20:14
Excellent, c'est exactement ça que je cherche à faire. Pourtant j'avais essayé avec la fonction "new" mais j'avai utilisé set au lieu de dim! En plus ce qui est bien c'est qu'apparemment tous les objets sont copiés dans la nouvelle form.
Encore merci

--------------------------------------------------------------------------
Visitez mon site sur http://bp-software.ifrance.com/
0
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
30 avril 2007 à 20:18
Par contre, je viens juste de penser à un truc. Comme la nouvelle form est une copie d'une existante, y'a-t-il un moyen de les différencier? Car dans le prog que je suis en train de faire, il y aura une fonction qui affichera des messages sur le bureau tant que l'utilisateur n'a pas fermé la fenêtre; un peu dans le style d'un post-it. Alors je me demandai comment dire à telle form d'afficher tel message. Il faut utiliser les index? (ex: form2(3).label1.caption="salut")

--------------------------------------------------------------------------
Visitez mon site sur http://bp-software.ifrance.com/
0

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

Posez votre question
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
30 avril 2007 à 21:08
Ah ben oui, il suffit d'indexer oform!
Merci

--------------------------------------------------------------------------
Visitez mon site sur http://bp-software.ifrance.com/
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
1 mai 2007 à 11:26
Bonjour,
@mortalino et pour info,
StartUpPosition éxiste aussi en VB6.
0
Rejoignez-nous