elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Manejar los objetos de un activeX
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Manejar los objetos de un activeX  (Leído 1,598 veces)
al3

Desconectado Desconectado

Mensajes: 106


Ver Perfil
Manejar los objetos de un activeX
« en: 5 Enero 2006, 04:17 am »

Hola. Estoy haciendo un ActiveX que tiene que hacer y tener lo siguiente.
Lo unico que tiene que tener es un array de labels, inicialmente comienzo con uno solo, Label1(0), y despues los voy cargando dinamicamente con Load Label1(x), etc, etc, etc.
El problema esta en como trabajar con cada label individualmente.
Por ej: En un formulario pongo este ActiveX llamado ALabels.
y puedo hacer lo siguiente. ALabels.Add "NewLabel" y despues hacer, ALabels.Label(0).Caption = "1", ALabels.Label(1).Caption = "1",etc.

codigo de ejemplo:
Código:
'En un formulario con un label (Label1)
Dim Etiqueta(1) As VB.Label
Private Sub Form_Load()
    Set Etiqueta(0) = Label1(0)
        Etiqueta(0).Caption = "Label 1"
       
        Load Label1(1)
    Set Etiqueta(1) = Label1(1)
        Etiqueta(1).Caption = "Label 1"
End Sub
El codigo de arriba sirve para un Formulario comun, cuando lo llevo a un ActiveX tambien funciona. Por ahora todo bien, el problema es cuando desde un formulario quiero llamar al objeto
Etiqueta(1) del ActiveX o sea: UserControl.Etiqueta(1).Caption. De echo esa instancia ni existe, lo cual esta bien porque esta declarada como Dim = Private, esa instancia es solamente vista por el activeX. Entonces lo que hice fue ponerla publica, pero ahi es donde falla. En cambio si no la pongo como un vector si que funciona.
En fin resumiendo: En un activeX tengo un arrays de labels. ¿como puedo hacer para poder manejarlos desde un formulario?

Código:
'Formulario
Private Sub Form_Load()
 UserControl.Label1(0).Caption = "Label 1"
 UserControl.Label1(1).Caption = "Label 2"
 UserControl.Label1(2).Caption = "Label 3"
End Sub

'ActiveX
Private Sub UserControl_Initialize()
    Load Label1(0)
    Load Label1(1)
    Load Label1(2)
End Sub























En línea

al3

Desconectado Desconectado

Mensajes: 106


Ver Perfil
Re: Manejar los objetos de un activeX
« Respuesta #1 en: 5 Enero 2006, 05:35 am »

Bueno, ya encontre como hacerlo aca pongo el codigo:
Código:
'En un Formulario con:
'2 CommandsButtons
'1 TextBox
'1 UserControl (el activeX)
'Uso:
'1) Apretar un par de veces el boton "Agregar Label"
'2) Poner en el textbox un numero que no supere la cantidad 'de 'labels cargados.
'3) Apretar el boton "Cambiar de fondo"

Private Sub Command1_Click()
    UserControl1.AgregarLabel
End Sub
Private Sub Command2_Click()
    UserControl1.CambiarPropiedad Text1.Text, "BackColor", VbLet, vbBlue
End Sub
Private Sub Form_Load()
    Command1.Caption = "Agregar Label"
    Command2.Caption = "Cambiar Color"
    Text1.Text = 0
End Sub

'En un UserControl con:
'1 Label que tenga como index = 0
Dim i As Integer
Public Sub AgregarLabel()
    i = i + 1
    Load Label1(i)
        Label1(i).Top = Label1(i - 1).Top + Label1(0).Height + 2
        Label1(i).Visible = True
End Sub
Public Sub CambiarPropiedad(nCtl As Integer, ProcName As String, CallType As VbCallType, args As String)
    CallByName Label1(nCtl), ProcName, CallType, args
End Sub

Con la funcion CallByName puedo llamar a un metodo y/o propiedad, pero como un String.
Por ej:
Esto: CallByName Label1, "Caption", vbLet, "Hola Mundo"
Es lo mismo que: Label1.Caption = "Hola Mundo"







En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Cómo manejar un ArrayList de objetos?
Java
luchi 2 3,012 Último mensaje 3 Septiembre 2016, 18:28 pm
por luchi
¿Como puedo crear y manejar correctamente los ArrayLists con objetos?
Java
Luxus01 1 2,410 Último mensaje 23 Noviembre 2017, 04:26 am
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines