Programación General > Visual Basic 6.0 e inferiores
Preguntas Sobre Declaracion
(1/1)
AndresMS:
hola... que tal?
es posible asignar eventos de ésta forma ?
osea usando los nombres de los objetos con variables...
Public i As Long
For i = 0 To 10
Dim WithEvents "is" & CStr(i) & "_m3" As Image
is1_m3.Picture = LoadPicture(EXEPAth + "fotos\300\301 Alisol endostásgnico úmbrico.gif")
is1_m3
is2_m3
Next
is1_m3.Picture = LoadPicture(los datos salen de una matriz)
For i = 0 To 10
Set is1_m3 = Controls.Add("vb.image", "is1_m3", fondo3)
is1_m3.Visible = True
is1_m3.Height = 987
is1_m3.Left = 720
is1_m3.Width = 975
is1_m3.Appearance = 0
is1_m3.BorderStyle = 1
is1_m3.Stretch = True
is1_m3.MouseIcon = LoadPicture(EXEPAth + "Iconos\select.cur")
is1_m3.MousePointer = 99
Set lblDinamic = Controls.Add("VB.Label", "lblDinamic" & CStr(i))
With lblDinamic
.Visible = True
.Top = nlblDinamic * 390 + Label1.Top
.Left = Label1.Left
.Caption = .Name
.Height = 255
End With
next
Gracias...
Brroz:
Hola AndresMS.
Esa declaración no funcionaría...
Sin examinar en detalle el código, veo que intentas añadir en tiempo de ejecución controles de los que quieres controlar sus eventos...
Puedes seguir dos caminos:
1- Añade en tiempo de ejecución un control del tipo que desees y da valor a su propiedad 'Index' con el fin de crear una matriz de controles. Para añadir nuevos controles a la matriz, utiliza el método Load.
--- Código: Text --- 'En tiempo de diseño, se ha añadido MiControl(0)Public Sub AddControl . . . Dim iIdx as Integer iIdx = MiControl.UBound + 1 Load MiControl(iIdx) MiControl(iIdx).Move Left, Top, width, height MiControl(iIdx).Visible = True . . .End Sub Private Sub MiControl_MiEvento(Index As Integer) . . . MsgBox "MiControl índice " & Index & " produjo un evento" . . .End Sub
2- Declara 'withevents' una variable de tipo VbControlExtender. Luego añade los controles mediante el método Add de la colección Controls asígnando a cada una de las variables 'control extender' que declaraste.
--- Código: Text --- Private withEvents MiControl As VBControlExtender Public Sub AddControl . . . Set MiControl = Me.Controls.Add("Biblioteca.Clase", "MiControl") MiControl.Move Left,Top,with,Height . . .End Sub Private Sub MiControl_MiEvento() . . . MsgBox "MiControl produjo un evento" . . .End Sub
Suerte.
Navegación
Ir a la versión completa