| |||
![]() Necesito crear un bector en Visual Basic 6.0 cuyos objetos sean de tipo label o text box y que cada objeto se visualice inmediatamente debajo del anterior. Cómo puedo realizar esto en tiempo de ejecución? Muchas gracias a todos |
| |||
Hola, creo que era algo así: Dim vLabels(4) as Object set vLabels(1)=new label1 (label1 es una label que ya tengas inicializada en tiempo de diseño por ejemplo, asi te creará una copia de esa label con lo que te ahorras faena) PD: tio con todo el buen rollito del mundo, pero se dice Vector con V! Saludos!
__________________ Sr.Propio |
| |||
Ya he probado lo que me has dicho, pero al compilar me da el siguiente error: "no se ha definido el tipo por el usuario" justo en el punto en el que pone "new label1(el nombre de mi label)" Además, luego necesito saber cómo hacer que me aparezca un label justo debajo de otro, porque utilizando la funcion "left", pero no me deja asignarle un balor nuevo. Gracias por toda la ayuda que puedas prestarme... |
| |||
Hola, lo siento, tenias razon, lo que te he mandado funciona con formularios, pero no con controles solo. Prueba esto, lo he probado con un formulario y ha funcionado bien. Dim vLabels(5) As Label Dim i As Integer For i = 0 To 4 Set vLabels(i) = Controls.Add("VB.label", "label_" & i) vLabels(i).Left = Label1.Left + (100 * (i + 1)) vLabels(i).Top = Label1.Top + (Label1.Height * (i + 1)) vLabels(i).Caption = "Label" & i vLabels(i).Visible = True vLabels(i).ZOrder 0 Me.Refresh Next Es solo un ejemplo pero creo que te servirá. Creo que la propiedad AutoRedraw del formulario tiene que estar a true. Saludos!
__________________ Sr.Propio |
| |||
Siento el retraso, pero no había tenido tiempo de probarlo. Muchas gracias por tu ayuda. Funciona perfectamente. Lo que ocurre es que el vector de labels lo tengo dentro de un objeto de tipo SSTab y los label quedan escondidos detrás del SSTab. Sabes cómo puedo traerlos al frente en tiempo de ejecución? Muchas gracias por todo ![]() |