Comment créer dynamiquement des form? [Résolu]

cs_Tioneb 193 Messages postés dimanche 16 décembre 2001Date d'inscription 29 juillet 2015 Dernière intervention - 30 avril 2007 à 17:52 - Dernière réponse : LIBRE_MAX 1403 Messages postés mardi 1 mai 2007Date d'inscription 7 octobre 2012 Dernière intervention
- 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/
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 30 avril 2007 à 18:03
3
Merci
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~
  

Merci mortalino 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de mortalino
Meilleure réponse
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 30 avril 2007 à 20:31
3
Merci
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~
  

Merci mortalino 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de mortalino
cs_Tioneb 193 Messages postés dimanche 16 décembre 2001Date d'inscription 29 juillet 2015 Dernière intervention - 30 avril 2007 à 20:14
0
Merci
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/
Commenter la réponse de cs_Tioneb
cs_Tioneb 193 Messages postés dimanche 16 décembre 2001Date d'inscription 29 juillet 2015 Dernière intervention - 30 avril 2007 à 20:18
0
Merci
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/
Commenter la réponse de cs_Tioneb
cs_Tioneb 193 Messages postés dimanche 16 décembre 2001Date d'inscription 29 juillet 2015 Dernière intervention - 30 avril 2007 à 21:08
0
Merci
Ah ben oui, il suffit d'indexer oform!
Merci

--------------------------------------------------------------------------
Visitez mon site sur http://bp-software.ifrance.com/
Commenter la réponse de cs_Tioneb
LIBRE_MAX 1403 Messages postés mardi 1 mai 2007Date d'inscription 7 octobre 2012 Dernière intervention - 1 mai 2007 à 11:26
0
Merci
Bonjour,
@mortalino et pour info,
StartUpPosition éxiste aussi en VB6.
Commenter la réponse de LIBRE_MAX

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.