Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Crear controles en ejecución en vb6

Estas en el tema de Crear controles en ejecución en vb6 en el foro de .NET en Foros del Web. Buenas Tardes: Necesito si alguien puede ayudarme con el siguiente inconveniente que tengo: Estoy armando un programa donde muestro 5 images creadas en diseño. Debo ...
  #1 (permalink)  
Antiguo 26/01/2015, 11:59
 
Fecha de Ingreso: enero-2015
Mensajes: 2
Antigüedad: 9 años, 2 meses
Puntos: 0
Crear controles en ejecución en vb6

Buenas Tardes:
Necesito si alguien puede ayudarme con el siguiente inconveniente que tengo:
Estoy armando un programa donde muestro 5 images creadas en diseño. Debo hacer que mediante un click se elija un color en una paleta de colores. Luego se hace click en la forma que indica un audio, y debe pintarse con dicho color. Logré hacer eso, creando las 5 images con transparencia en la forma. Luego creé un label en modo ejecución, que se crea por debajo de la forma, y al label le asigno el color que pide el audio. De esa manera la forma se ve pintada del color porque se ve el label de abajo. Necesito que ese label desaparezca cuando vuelvo a armar el nuevo formulario, para pedir que se pinte otra forma con otro color. Pero no lo logro, sigue quedando la forma pintada anteriormente. Me funciona una vez, pero después me falla.
Este es el código que yo armé:
Private WithEvents pic3obj As Label (con esto asigno el label que voy a crear a la variable pic3obj)

If ima_save(1).forma = forma_ele Then
nuevolabel = nuevolabel + 1
namenlabel = "lab" & nuevolabel
Set pic3obj = Controls.Add("VB.label", namenlabel)
With pic3obj
.Visible = True
.Height = Image1(Index).Height
.Width = Image1(Index).Width
.Top = Image1(Index).Top
.Left = Image1(Index).Left
.BackColor = vbcolor_ele
.BorderStyle = 0
End With

esta ultima rutina, crea el objeto, pero cada vez que lo crea le asigna un nombre distinto, para que no de error, entonces el nombre se arma con la palabra lab y un número que va creciendo de uno en uno. Y le asigno las propiedades de tamaño, visibilidad, etc.


Cuando termina el programa, que necesito limpiar todo y cargarlo nuevamente, puse el siguiente código, que espera 2 segundos y vuelve a cargar todo:
Private Sub Timer1_Timer()
segundos = segundos + 1
If segundos > 2 Then
Timer1.Enabled = False
pic3obj.Visible = False


cargo_form


End If
End Sub


pic3obj tendría el nombre que se asignó en larutina anterior. Me funciona la primera vez, recarga todo y no lo muestra, pero las veces siguientes, me los sigue dejando cargado en la pantalla. No se que está fallando. Necesito que el label creado en ejecución, una vez que se pinto la forma, y se recarga todo, se vuelva invisible. Si alguien pudiera ayudarme.Gracias
  #2 (permalink)  
Antiguo 26/01/2015, 14:27
 
Fecha de Ingreso: enero-2015
Mensajes: 2
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Crear controles en ejecución en vb6

Gracias a todos. Ya lo solucioné. El código que yo escribí en el mensaje funcionaba bien. Había un error en otra rutina en el momento de crear el label nuevo. Lo estaba creando dos veces y solo ponía invisible uno solo de ellos. por eso parecía que no funcionaba. Pero ya lo arreglé y anda todo bien

Etiquetas: visual
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 14:34.