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] Création dynamique de controles dans un SSTab


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [VB6] Création dynamique de controles dans un SSTab
    Bonjour.
    Je voudrais crée dynamiquement des datagrids dans un controles SStab.
    En fait, suivant le résultat d'une variable integer i de mon prog, mon SSTab affiche i onglets. La dessus pas de problème.
    Mais je voudrais aussi qu'il me crée un datagrid par onglet (en fait c'est le même datagrid sur chaque onglet, chacun correspondant à une requête SQL différente).
    J'ai bien regardé les deux possibilités dans la FAQ, mais sa mise en pratique me mène droit au débogage .
    Je pense que la meilleure solution est, à la création ,de créer mon premier datagrid, puis de créer les autres dans une boucle for avec un petit

    load datagrid (i)

    mais ca ne marche pas... Les objets ne se créent pas... J'ai pourtant précisé quel onglet était actif mais je suis bloqué...
    Merci de votre aide

  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
    montre nous le code

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Désolé, je l'avais pas mis parce que ca ne me semblait pas tellement utile dans ce cas...

    Donc le voici :

    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
    'Cette procédure crée, suivant un devis sélectionné dans un combobox,
    'autant d'onglets comprenant chacun un datagrid que de nombre de
    'paragraphe de devis (tranches)
     
    Private Sub cbxChoixDevis_Click()
     
    sstTranches.Visible = True
     
    If deBatigest.rscomTranches.State = adStateOpen Then
        deBatigest.rscomTranches.Close
    End If
     
    'J'appelle ma requête paramétrée qui récupère le titre de mes onglets
    deBatigest.comTranches (cbxChoixDevis.Text)
    sstTranches.Tabs = deBatigest.rscomTranches.RecordCount
     
    Dim i As Integer
     
        For i = 0 To sstTranches.Tabs - 1
     
            'Récupération des titres des onglets
            sstTranches.TabCaption(i) = deBatigest.rscomTranches!Libelle
            'dtgTranche(0) est déjà créé en mode création
            If i <> 0 Then Load dtgTranche(i)
            dtgTranche(i).Height = 4575
            dtgTranche(i).Width = 8655
            dtgTranche(i).Visible = True
     
            deBatigest.rscomTranches.MoveNext
        Next i
     
    End Sub
    En espérant que ca vous éclaire...
    Merci d'avance

  4. #4
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 163
    Points : 173
    Points
    173
    Par défaut
    j'ai exactement le même problème ...
    tout ce passe bien tant que je crée des control dans l'onglet 0, existant dès l'appele de la feuille, mais impossible de créer un control sur un onglet créer après ...
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !
    (Albert Einstein)

  5. #5
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 163
    Points : 173
    Points
    173
    Par défaut
    bon, finalement, j'ai trouvé ...

    je mets le code qui fonctionne chez moi ...
    pour explication, a partir du premier form ("form1"), j'appelle un form qui contient un "SStab" avec 1 onglet, lequel contient 1 "textbox" : but du jeu, créer dynamiquement autant d'onglet que je veux sur le "SStab" avec sur chaque onglet un "textbox" (qui lui appartient forcément a un groupe, d'ou l'index)
    autre précision, "CWNumEdit1.Value" correspond au control sur "form1" qui me permet de saisir le nombre d'onglet que je veux ...

    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
    Private Sub bp_form2_Click()
        Load Form2
     
        ' dans le cas du CWNumEdit1.Value=0, rien ne doit se passer
        Form2.SSTab1.Tabs = CWNumEdit1.Value + 1
        For i = 1 To Form2.SSTab1.Tabs - 1
            Form2.SSTab1.Tab = i
            Load Form2.Text1(i)
            Set Form2.Text1(i).Container = Form2.SSTab1
            Form2.Text1(i).Visible = True
            Form2.Text1(i).Text = "text " & i
            Form2.Text1(i).Top = 1080
            Form2.Text1(i).Left = 360
        Next i
     
        Form2.Show
        Form1.Hide
    End Sub
    voila voila
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !
    (Albert Einstein)

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

Discussions similaires

  1. [XL-2010] Mettre dynamiquement un Control dans un Frame(cadre)
    Par bastou93 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/06/2011, 12h25
  2. Creation dynamique de control dans un tabPage
    Par skunkies dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/03/2009, 13h51
  3. [WPF] ajouter dynamiquement un control dans un dataTemplate.
    Par maa dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 28/02/2008, 08h20
  4. [C#] Ajout en dynamique de controles dans un PlaceHolder
    Par fredo_lefran dans le forum ASP.NET
    Réponses: 16
    Dernier message: 06/07/2006, 14h41
  5. VB - Génération dynamique de controles dans un forme
    Par jeanangel dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/12/2005, 21h09

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