Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

[TUTORIAL] Cambiar los iconos del formulario recursivamente
#1
Lightbulb 

Hola amigos.

Si tienen un formulario y desean cambiarles las imagenes a todos a la vez porque, por ejemplo cambia el tema. Supongo que existen varios métodos para hacerlo pero yo expondre el que uso habitualmente por si les resulta util.

Este metodo trabaja con los MenuButton pero valdia para otros controles, la unica condicion es que la propiedad Tag sea tipo String y su valor sea el del nombre base del archivo, por ejemplo "add" si el archivo se llama "add.svg"

GAMBAS
  1. '' This method scans all the buttons on the form and assigns them (if any) an SVG icon in the ./var/svg directory.
  2. '' For example, if the tag of a button is "refresh" then an icon named ./var/svg/refresh.svg must exist.
  3.  
  4. Static Public Sub Update(obj As Object)
  5.   Dim ch As Object
  6.   Dim myclass As Class
  7.   myclass = Object.Class(obj)
  8.   If myclass.Symbols.Exist("Arrangement") Then
  9.     For Each ch In obj.Children
  10.       If Object.Type(ch) = "ToolButton" Then
  11.         ch.Picture = TagPic(ch.Tag, ch.W - 7)
  12.       Else
  13.         Update(ch)
  14.       Endif
  15.     Next
  16.  
  17.   Dim sVector As String
  18.   Dim pic As Picture
  19.   Dim sPic As String
  20.   sPic = "./var/svg/" & sTag & ".svg"
  21.   If Exist(sPic) Then
  22.     sVector = Contrary(sPic, "#0066b3", -1)
  23.     If iFill > -1 Then
  24.     Endif
  25.     pic = Image.FromString(sVector).Stretch(iSize, iSize).Picture
  26.   Else
  27.     Select iSize
  28.       Case 16, 22, 32, 48, 96, 128, 256
  29.         pic = Stock[CStr(iSize) & "/error"]
  30.       Case Else
  31.         pic = Stock["16/error"]
  32.     End Select
  33.   Return pic



1 Saludo.
[-] Los siguientes 3 usuarios dicen gracias a tincho por este post:
  • Grandamakulo, jguardon, Shordi
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)