Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

crear textbox al pulsar boton

Estas en el tema de crear textbox al pulsar boton en el foro de Visual Basic clásico en Foros del Web. Creo q es bastante claro: Cómo puedo crear un textbox al pinchar sobre un botón?...
  #1 (permalink)  
Antiguo 20/01/2006, 09:03
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta crear textbox al pulsar boton

Creo q es bastante claro:
Cómo puedo crear un textbox al pinchar sobre un botón?
  #2 (permalink)  
Antiguo 20/01/2006, 09:48
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
En lugar de complicarte ponele la propiedad visible en false y pasala a true con el boton.

Salu2!
__________________
diegoz.com.ar
  #3 (permalink)  
Antiguo 20/01/2006, 09:54
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 19 años, 2 meses
Puntos: 0
No me vale ponerlo a false y despues mostrarlo pq tengo q hacer un bucle y crear distintos textbox dependiendo de cuantas veces de repita el bucle.

He encontrado esto por ahi:
Hasta Visual Basic 5.0 si se quería añadir un control a un formulario se utilizaba la función Load, que
permitía añadir un control a un array ya existente. Esta limitación se ha eliminado de Visual Basic 6.0, y
ya es posible añadir y borrar controles a la colección "Controls", sin necesidad de que exista un array ya
creado. Además, el nuevo control puede responder a eventos si se define con la palabra "WithEvents".
Como muestra, un sencillo ejemplo que crea un botón y se añade código al evento:
Dim WithEvents cmdObj1 As CommandButton
Private Sub cmdObj1_Click()
MsgBox "Esto es un control dinámico"
End Sub
Private Sub Form_Load()
Set cmdObj1 = Form1.Controls.Add("VB.CommandButton", "cmdBoton1")
cmdObj1.Caption = "Púlsame"
cmdObj1.Left = 1500
cmdObj1.Top = 1000
cmdObj1.Visible = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
Form1.Controls.Remove "cmdBoton1"
End Sub

pero mi vb no me da la opcion de poner form1.controls.add solo me deja poner form1.controls

Pq puede ser? me falta algun componente? alguien sabe cual es?
  #4 (permalink)  
Antiguo 20/01/2006, 16:28
Avatar de hernanmdq  
Fecha de Ingreso: julio-2005
Ubicación: Argentina - Entre Rios
Mensajes: 167
Antigüedad: 18 años, 9 meses
Puntos: 1
En las faq's en cuentras como agregar comandos en tiempo de ejecucion, salu2.
__________________
| Codigo Geek | Blog de Cine |
  #5 (permalink)  
Antiguo 23/01/2006, 01:59
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 19 años, 2 meses
Puntos: 0
ok, miré las faqs y esto fue lo q encontré:

Option Explicit
Private numControles As Long
Private Sub cmdCrear_Click()
'Crear un nuevo control de cada tipo'numControles está declarada a nivel de módulo
numControles = numControles + 1
'Crear los controles
Load Label1(numControles)
Load Text1(numControles)

'Posicionarlos y hacerlos visibles
With Label1(numControles)
.Visible = True
.Top = Label1(numControles - 1).Top + .Height + 120
.Caption = "Label1(" & numControles & ")"
End With
With Text1(numControles)
.Visible = True
.Top = Text1(numControles - 1).Top + .Height + 60
.Text = "Text1(" & numControles & ")"
End With
End Sub

copié el codigo en un formulario nuevo y creé un botón al que llamé cmdCrear, pero al ejecutar el programa y pulsar en el botón me dice procedimiento sub o función no definido, y me marca de amarillo la primera linea de la funcion y despues esto:

Load Label1(numControles)

Si añado estas 2 lineas de codigo:
Private Label1 As Label
Private Text1 As TextBox

el error que me da es 'numero de argumentos erróneo o asignación de propiedad no válida'.

Aunque sinceramente, no creo q poner esto sea necesario, ya que he quitado el option explicit.
  #6 (permalink)  
Antiguo 23/01/2006, 08:51
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
No te compliques... Utilizando ese codigo como guia lo puedes simplificar

Código:
Private Sub Command1_Click()
Static Indice As Long
   Indice = Indice + 1
   Load Text1(Indice)
   With Text1(Indice)
      .Top = Text1(Indice - 1).Top + 450
      .Visible = True
   End With
End Sub
Solo copia las lineas de los demas controles a agregar...
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #7 (permalink)  
Antiguo 23/01/2006, 17:41
 
Fecha de Ingreso: agosto-2005
Ubicación: Peru-Lima
Mensajes: 225
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por Jennifer_munn
ok, miré las faqs y esto fue lo q encontré:

Option Explicit
Private numControles As Long
Private Sub cmdCrear_Click()
'Crear un nuevo control de cada tipo'numControles está declarada a nivel de módulo
numControles = numControles + 1
'Crear los controles
Load Label1(numControles)
Load Text1(numControles)

'Posicionarlos y hacerlos visibles
With Label1(numControles)
.Visible = True
.Top = Label1(numControles - 1).Top + .Height + 120
.Caption = "Label1(" & numControles & ")"
End With
With Text1(numControles)
.Visible = True
.Top = Text1(numControles - 1).Top + .Height + 60
.Text = "Text1(" & numControles & ")"
End With
End Sub

copié el codigo en un formulario nuevo y creé un botón al que llamé cmdCrear, pero al ejecutar el programa y pulsar en el botón me dice procedimiento sub o función no definido, y me marca de amarillo la primera linea de la funcion y despues esto:

Load Label1(numControles)

Si añado estas 2 lineas de codigo:
Private Label1 As Label
Private Text1 As TextBox

el error que me da es 'numero de argumentos erróneo o asignación de propiedad no válida'.

Aunque sinceramente, no creo q poner esto sea necesario, ya que he quitado el option explicit.
debes tener un control label con index (0) en el form
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:24.