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

Colorear botones de forma rapida

Estas en el tema de Colorear botones de forma rapida en el foro de Visual Basic clásico en Foros del Web. Hola: Tengo cosa de 200 botones y los quiero pintar de color rojo pero no se hacerlo mas que pintando uno a uno con la ...
  #1 (permalink)  
Antiguo 10/11/2005, 05:18
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Antigüedad: 18 años, 10 meses
Puntos: 0
Colorear botones de forma rapida

Hola:
Tengo cosa de 200 botones y los quiero pintar de color rojo pero no se hacerlo mas que pintando uno a uno con la sentencia
Command1.Picture=LoadPicture ("rojo.bmp")
¿Hay alguna manera de hacerlo con un FOR o algo parecido?
Gracias de antemano
  #2 (permalink)  
Antiguo 10/11/2005, 08:13
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
desde luego si hubieses puesto los botones como array de botones...

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 10/11/2005, 20:18
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
pero puedes utilizar esto:

Dim command As Object
Private Sub Form_Load()
For Each command In Controls
If TypeOf command Is CommandButton Then
command.Picture = LoadPicture("ruta")
End If
Next
End Sub
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #4 (permalink)  
Antiguo 11/11/2005, 12:37
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo

Cita:
Iniciado por vbx3m
pero puedes utilizar esto:

Dim command As Object
Private Sub Form_Load()
For Each command In Controls
If TypeOf command Is CommandButton Then
command.Picture = LoadPicture(ruta)
End If
Next
End Sub
Me gustó la forma como lo resolvísteis....
Vale, podríamos agregarle ésto:
Código:
 
Dim Imagen As IPicture
Set Imagen = LoadPicture("ruta")
For Each command In Controls
If TypeOf command Is CommandButton Then
if command.Tag = "PINTAR" Then
command.Picture = Imagen
End If
End If
Next
Así pues, en vés de pintar todos los botones, solo pinta los que tienen el Tag PINTAR, además, no tenemos que volver a cargar la Imagen las 200 veces...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 11/11/2005, 12:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación

Ahora, lo que no llego a comprender es para qué usar una imagen cuando existe la propiedad BackColor
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 11/11/2005, 20:12
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
Pero me parece que esa propiedad no está disponible para los CommandButtons. Abría que usar APIS y eso se lleva un buen, a mi opinion creo que como lo hace jiusad es más simplificado.
__________________
Nunca seas sabio en tu propia opinión.
  #7 (permalink)  
Antiguo 12/11/2005, 05:43
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Antigüedad: 18 años, 10 meses
Puntos: 0
Muchisimas gracias. Con lo que me habeis recomendado (que era lo que yo buscaba) se aligera el proyecto una barbaridad. Antes tenia que pintar 200 commands uno a uno (cargaba el proyecto hasta hacer que fuera pesado) y ahora de golpe los pinto todos.Maravilloso. Sois fabulosos.
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 02:07.