IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] creation et gestion de contrôle dynamique


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2002
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Points : 11
    Points
    11
    Par défaut [VB6] creation et gestion de contrôle dynamique
    Je travaille actuellement en VB 6.

    Je sait créer ,de façon dynamique, des contrôles. Je peux les créer et les manipuler

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim WithEvents lblDynamique As VB.Label
    Dim WithEvents frmDynamique As VB.Frame
    Dim WithEvents vcbDynamique As VB.VScrollBar
    Dim WithEvents flgDynamique As MSFlexGrid
     
    Set lblDynamique = formMe.Controls.Add("VB.Label", "lblNom", objOu)    
    lblDynamique.Caption = ChampNom
    lblDynamique.BackStyle = 0
    lblDynamique.Left = xLabel
    lblDynamique.Top = HauteurLabel * 1.65 * i + 100 + 20
    lblDynamique.Width = LargeurLabel
    lblDynamique.Height = HauteurLabel
    lblDynamique.Visible = True
    Mais ce que je n’arrive pas à faire c’est :

    - créer des des contrôles de type flexgride (même si je les est référencé) : Set frmDynamique = formMe.Controls.Add(MSFlexGrid, "flgNom", formMe) ‘ ne marche pas car ne reconnaît pas ProgId de MSFlexGrid

    - géré les événement de mes contrôles créé à l’exécution.

    Je veux éviter la solution consistant à faire une collection de contrôle avec un index avant l’exécution de mon programme.

    Merci par avance.

    [Edité par Nightfall]
    [Balise Code ajoutée]

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim WithEvents flgDynamique As MSFlexGridLib.MSFlexGrid
    Private Sub Command1_Click()
     
    Set flgDynamique = Me.Controls.Add("MsFlexGridLib.MsFlexGrid", "magrille")
    flgDynamique.Visible = True
     
    End Sub
     
    Private Sub flgDynamique_Click()
        MsgBox "toto"
    End Sub

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2002
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Merci bidou, ça marche.
    D'abord un grand merci à bidou, car je vient de tester ce qu'il me propose et ça marche parfaitemant. Merci bidou.
    Si vous crée dynamiquement un contrôle qui utilise un controle ActiviX (comme la flexgrid ici) que ce contrôle n'est utilisé nule part dans le projet il faut : Désactivez "supprimer les informations sur les contrôles ActifeX inutilisés" dans la boîte de dialogue Propriétés du projet, onglé Créer (menu Projet).

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2002
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Points : 11
    Points
    11
    Par défaut suite de ma grande question
    J'ai toujours la seconde partie de ma question qui reste sans réponse.
    "Comment recevoir et gérer les événements de contrôle créé de façon dynamique ?"
    Je pressise que je ne peux pas créer une "collection" de controle de même nom en utilisant la propriété index (ex : je crée dans ma from au dévelopement label(0), puis je crée de facon dynamique label(1) label(2) ... ; Je ne peux pas utiliser cette solution.).

  5. #5
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    dans mon exemple tu gères l'évènement click de la grille créée dynamiquement

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2002
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Ton tutorial c'est le quel ?
    Je n'est pas trouvé d'auteur "bidou" dans les tutoriaux. :-)

  7. #7
    Rédacteur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 608
    Points : 1 561
    Points
    1 561
    Par défaut
    C'est une blague ? Bidou te parle de son post dans ce même thread !

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2002
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Je sais mais, mais je ne sait pas quel est sont tutorial qui traite de ce sujet. Désolé.

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2002
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Points : 11
    Points
    11
    Par défaut oups :?
    Oups pardon à Nightfall et bidou. J'avais pas vue la fin du code que tu m'avais fais bidou.

  10. #10
    Rédacteur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 608
    Points : 1 561
    Points
    1 561
    Par défaut
    Tu peux rajouter "[Résolu]" au début du titre du sujet (en éditant le premier message) s'il te plait.

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2002
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Points : 11
    Points
    11
    Par défaut suite et bientôt fin
    Avant d'ajouter résolu une derniére question sur ce sujet.

    Peux t'on créer de façon dynamique la sub qui attend mon évenement ?
    C'est cette sub que je veux creer de façon dynamique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub flgDynamique_Click() 
        MsgBox "toto" 
    End Sub
    Peut t'on créer un écouteur (qui attend les éventments) pour tous les contrôle dynamique les géré ensuites ?[/code]

  12. #12
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    non
    ca peut se faire en vba mais pas en vb

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2002
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    merci bidou

    Je n'est plus de question

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 64
    Points : 54
    Points
    54
    Par défaut
    J'ai fait ca ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Public WithEvents Label As VB.Label
     
    Public Sub creationCase(Ligne As Integer, Colonne As Integer)
     
        Dim NameLbl As String
     
        NameLbl = "lbl_" & Ligne & "_" & Colonne
     
     
        Set Label = frmIndex.Controls.Add("vb.label", NameLbl)
        With frmIndex.Controls.Item(NameLbl)
            .Left = 350 * (Colonne - 1)
            .Top = 700 + (350 * Ligne)
            .Width = 350
            .Height = 350
            .Visible = True
            .Caption = ""
            .BackColor = &HE0E0E0
            .BorderStyle = 1
            .Appearance = 0
        End With
     
    End Sub
     
    Public Sub creationGrille(nbLigne As Integer, nbColonne As Integer)
        Dim i As Integer
        Dim j As Integer
        For i = 1 To nbLigne
            For j = 1 To nbColonne
                Call creationCase(i, j)
            Next j
        Next i
    End Sub
     
    Private Sub Label_Click()
        MsgBox "toto"
    End Sub
    Ca marche quand je créé qu'un controle ... mais sinon, Non...

    Vous connaisseriez pas une solution ?!

    Merci bien
    Vivement aout ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] création graphes Excel à 2 axes
    Par getea85 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 24/04/2006, 09h48
  2. [VB6] Création dynamique de controles dans un SSTab
    Par Txomin dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/12/2004, 11h13
  3. [VB6] Creation d'un service en VB6
    Par WOLO Laurent dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 30/06/2004, 15h23
  4. [VB6] creation de variable de type string dynamiquement
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 12/06/2003, 16h59
  5. [VB6] Création de composant
    Par Tchetch dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/10/2002, 14h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo