Contrôle dynamique

Soyez le premier à donner votre avis sur cette source.

Vue 3 726 fois - Téléchargée 283 fois

Description

Contrôle Dynamique

Source / Exemple :


Option Explicit
Dim vindex
Dim vnom
Dim WithEvents lblctl As Label

Private Sub cmdbutton_Click(Index As Integer)
 'Ajouter
 
If Index = 0 Then

'incrémenter vindexTexte  , créer une nouvelle zone
vindex = vindex + 1
vnom = "lblaffichage" & vindex
Set lblctl = Me.Controls.Add("vb.label", vnom)
With lblctl
.Alignment = vbCenter
.BorderStyle = vbFixedSingle
.Font.Name = "System"
.Height = 360
.Left = 300
.Width = 2100
End With

 'placer la nouvelle zone, la rendre visible
 
 If vindex < 1 Then
 With lblctl
 .Top = 450
 .Visible = True
 End With
 Else
 With lblctl
 .Top = 450 + vindex * (.Height + 150)
 .Visible = True
 End With
 End If
 cmdbutton(1).Enabled = True
 
' maximum 7 étiquettes
If vindex >= 6 Then
cmdbutton(0).Enabled = False
End If

'supprimer
ElseIf Index = 1 Then

'supprimer la dernière zone
vnom = "lblaffichage" & vindex
Me.Controls.Remove vnom
vindex = vindex - 1
cmdbutton(0).Enabled = True
If vindex < 0 Then
cmdbutton(1).Enabled = False

End If
'quitter
Else
End
End If
End Sub

Private Sub Form_Load()
vindex = -1
MsgBox "http://www.steven007.fr.st", vbCritical, "yo v'la mon site"
End Sub

Conclusion :


http://www.steven007.fr.st ou steven007@caramail.com

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

xactise
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2 -
ixibrec333 j'intervient certe un peu tard lol mais j'ai le meme problème que toi je creer des vb.commandbutton dynamique en fonction des donéne que j'ai sur une bdd access
y ont des nom incrementer
btn0 btn1 btn2 etc.. mon object de base sapel btn

pourtant si je fé
private sub btn_click()
msgbox("test")
end sub
ya que la derniere occurence qui fonctionne
et si je fait :
private sub btn1_click()
msgbox("testtt")
end sub
rien ne marche
voici mon bout de code

'Déclaration :
Public WithEvents btn As CommandButton
Public WithEvents btnn As CommandButton
Public WithEvents lbl As Label
Public WithEvents txtbx As TextBox

'form_load()
Private Sub Form_Load()

Set bd = OpenDatabase("mess.mdb", False)

Set rsc = bd.OpenRecordset("Select Nom,Prix FROM Produit")
x = 1600
c = 200
i = 0
If rsc.RecordCount > 0 Then
rsc.MoveFirst

Do While rsc.EOF = False

Set lbl = Me.Controls.Add("VB.Label", "lbl" & i)
lbl.Caption = rsc!nom & " (" & rsc!prix & " ?) : "
lbl.Move c, 3500, (Len(rsc!nom) + Len(rsc!prix) + 8) * 120, 300
lbl.Visible = True

Set txtbx = Me.Controls.Add("VB.textbox", "txtbx" & i)
txtbx.Text = 0
txtbx.Move x, 3450, 300, 300
txtbx.Visible = True
txtbx.Enabled = False

Set btn = Me.Controls.Add("VB.commandbutton", "btn" & i)
btn.Caption = "+"
btn.Move x, 3100, 3000, 300
btn.Visible = True

Set btnn = Me.Controls.Add("VB.commandbutton", "btnn" & i)
btnn.Caption = "-"
btnn.Move x, 3800, 300, 300
btnn.Visible = True

x = x + 3000
c = c + 3000
rsc.MoveNext
i = i + 1
Loop

Else
MsgBox ("Aucun produit dans la base de données")
End If

End Sub


si tu peut m'aider pour savoir comment creer dynamiquement en meme temp que le commandbutton son evenement click sa serai bien
ixigrec333
Messages postés
1
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
30 mars 2003
-
command tu peux utilises les évènements comme label_Click() ?
j'utilise la même méthode que toi pour pour créer un label.
mais label_Click() ne fonctionne que sur le sernier label créé...
un truc que j'aurais zapper ?
chrisq35
Messages postés
2
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
15 janvier 2003
-
vb.label c bien mais pour les controles utilisateurs ?

vb.usercontrol1 ?

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.