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

Programar para diferentes GUI
#10

(29-08-2023, 19:46)alberto-moyano escribió:  utilizo iconos propios (descarto los del sistema adrede), así que ahí tampoco hay problemas.

Si, eso unas veces es deseable y otras no, depende del programa y el nivel de integración que debe tener el programa en el escritorio.
Lo ideal es que el usuario de tu programa pueda elegir el juego de iconos propio o el del tema de escritorio, lo que es mas fácil decirlo que hacerlo.
Yo hice un programa de ejemplo que permite cambiar lo iconos a voluntad, pero requiere una adaptación del programa donde cada botón tiene que tener un .Tag del estilo "actions/document-new" que es como se llama el icono en los diferentes temas de escritorio y entonces luego podes cambiar en tiempo d ejecución el aspecto de la app con un método recursivo como el siguiente:
GAMBAS
  1. '' Este método escanea todos los botones del formulario y les asigna (si corresponde) un icono SVG en el directorio ./var/svg.
  2. '' Por ejemplo, si la etiqueta de un botón es "actualizar", entonces debe existir un icono llamado ./var/svg/actualizar.svg.
  3.  
  4. Static Public Sub Update(obj As Object, Optional sTheme As String = "default", Optional sLang As String = "en", Optional oTags As Collection)
  5.  
  6.   Dim myclass As Class
  7.  
  8.   myclass = Object.Class(obj)
  9.  
  10.   If myclass.Symbols.Exist("Arrangement") Then
  11.     For Each ch In obj.Children
  12.       If Object.Type(ch) = "ToolButton" And Not IsNull(ch.tag) Then
  13.         ch.Picture = TagPic(ch.Tag, ch.W - 7,, sTheme)
  14.         If oTags Then
  15.           If oTags.Exist(sLang) Then
  16.             If oTags[sLang].Exist(ch.Tag) Then
  17.               ch.Tooltip = oTags[sLang][ch.Tag]
  18.             Endif
  19.           Endif
  20.         Endif
  21.       Else
  22.         Update(ch, sTheme, sLang, oTags)
  23.       Endif
  24.     Next


Nota: el programa lo podes ver en https://gambas-es.org/showthread.php?tid=1422

1 Saludo.
    ¡Gracias!


Mensajes en este tema
Programar para diferentes GUI - por tincho - 17-08-2020, 15:00
RE: Programar para diferentes GUI - por jguardon - 17-08-2020, 22:13
RE: Programar para diferentes GUI - por tincho - 18-08-2020, 13:06
RE: Programar para diferentes GUI - por jguardon - 18-08-2020, 20:50
RE: Programar para diferentes GUI - por tincho - 18-08-2020, 23:52
RE: Programar para diferentes GUI - por tincho - 25-08-2020, 23:03
RE: Programar para diferentes GUI - por jsbsan - 28-08-2020, 13:43
RE: Programar para diferentes GUI - por tincho - 28-08-2020, 15:00
RE: Programar para diferentes GUI - por alberto-moyano - 29-08-2023, 19:46
RE: Programar para diferentes GUI - por tincho - 30-08-2023, 14:01

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

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)