Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Cómo crear controles en tiempo de ejecución

  • 0 Respuestas
  • 1889 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5490
  • Actividad:
    6.67%
  • Reputación 36
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Julio 26, 2010, 11:29:34 am »
Pregunta:
La pregunta es la siguiente: No sabemos como crear textbox y
listbox (o algo semejante para almacenar texto) en tiempo de ejecución (objeto)
sin que tenga límite en cuanto al número de objetos, es decir, en
este caso de textbox y listbox que se puedan crear.

Respuesta:

    Para crear controles en tiempo de ejecución, con el VB6 hay otras posibilidades, debes tener esos controles en un array, como mínimo deberás tener uno, a partir de ahí, simplemente usando LOAD nombreControl(numeroDeElemento), tendrás nuevos controles.

    Un ejemplo:
    Crea un nuevo proyecto, añade un label y un textbox.
    Selecciona el label, en la propiedad Index, escribe CERO, de esta forma tendrás un array creado.
    Haz lo mismo con el TextBox.

    Ahora escribe esto en el evento Load de formulario, se crearán nuevos controles.
    Es importante notar que los nuevos controles creados tienen la propiedad Visible a FALSE, por tanto no serán visibles salvo que se cambie el estado a TRUE.

    Veamos el código de ejemplo que permitirá crear controles, posicionarlos debajo de los anteriores y si se pulsa en el botón cmdElimir, eliminará el último que se haya creado...

Código: Visual Basic
  1. '
  2. 'Ejemplo de creación de controles en tiempo de ejecución
  3. Option Explicit
  4.  
  5. 'Llevará la cuenta de los controles creados
  6. Private numControles As Long
  7.  
  8.  
  9. Private Sub cmdCrear_Click()
  10.     'Crear un nuevo control de cada tipo
  11.  
  12.     'numControles está declarada a nivel de módulo
  13.    numControles = numControles + 1
  14.     'Crear los controles
  15.    Load Label1(numControles)
  16.     Load Text1(numControles)
  17.  
  18.     'Posicionarlos y hacerlos visibles
  19.    With Label1(numControles)
  20.         .Visible = True
  21.         .Top = Label1(numControles - 1).Top + .Height + 120
  22.         .Caption = "Label1(" & numControles & ")"
  23.     End With
  24.     With Text1(numControles)
  25.         .Visible = True
  26.         .Top = Text1(numControles - 1).Top + .Height + 60
  27.         .Text = "Text1(" & numControles & ")"
  28.     End With
  29. End Sub
  30.  
  31.  
  32. Private Sub cmdEliminar_Click()
  33.     'Eliminar un elemento de cada control anteriormente creado
  34.  
  35.     'El control CERO no se puede eliminar
  36.    If numControles > 0 Then
  37.         'Descargarlos de la memoria
  38.        Unload Label1(numControles)
  39.         Unload Text1(numControles)
  40.         numControles = numControles - 1
  41.     End If
  42. End Sub
  43.  
  44.  
  45. Private Sub Form_Load()
  46.   'Por defecto creamos un control de cada array:
  47.    'un Label y un Textbox
  48.  
  49.     cmdCrear_Click
  50. End Sub
  51.  
« Última modificación: Julio 08, 2011, 10:26:28 am por ANTRAX »


 

¿Te gustó el post? COMPARTILO!



Como leer caracter por caracter de una cadena string

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2203
Último mensaje Julio 26, 2010, 11:42:21 am
por ANTRAX
Cómo ajustar la cadena introducida a formato de hora "00:00:00"

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2362
Último mensaje Julio 26, 2010, 12:36:23 pm
por ANTRAX
Cómo ajustar la cadena introducida a formato numérico: "#,##"

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1999
Último mensaje Julio 26, 2010, 12:38:04 pm
por ANTRAX
Manual de como bloquear CTRL+ALT+SUP, ALT+TAB, Y OTROS con Visual Basic en WinXP

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2659
Último mensaje Julio 26, 2010, 11:11:14 am
por ANTRAX
Como Imprimir en tamaño especial en Impresoras Matriciales en XP

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2373
Último mensaje Julio 26, 2010, 11:14:36 am
por ANTRAX