Ver Mensaje Individual
  #1  
Antiguo 21-07-2004
MLROJO MLROJO is offline
Miembro
 
Registrado: jul 2004
Ubicación: Granada
Posts: 26
Reputación: 0
MLROJO Va por buen camino
Alguna sugerencia para sistema d skin?

Hola.

Os comento, estoy desarrollando un sistema de skins para un programa, mediante este sistema de skin me gustaria cambiar varias imagenes del programa, cosa que consigo satisfactoriamente y también cambiar diferentes propiedades (color, color del borde...) de diferentes botones, checkbox, listbox, groupbox, etc.. los colores que deberan utilizarse se guardan en un ini.
Cada grupo de componentes (por ejemplo todos los botones), llevarian la misma variable, es decir, todos los botones irian con borde negro y color gris, y asi con todos los componentes del programa que quiera cambiar.
El problema me surge a la hora de asignar ese color a cada uno de los componentes, puesto que mi metodo, no se si es el mas correcto, pero es el único que se me ocurre.

Consiste en mostarar en un listbox todas las subcarpetas que existen dentro de \skin\ y una vez selecionada una subcarpeta cargará el ini que lleva dentro esta subcarpeta, con todas las propiedades que deben adjudicarse a los componentes. Hasta aquí todo bien, es decir, cargo bien el ini y cargo bien las imagenes.

El problema se da cuando tengo que adjudicar cada color a cada boton, puesto que son bastantes componentes (varios botones, varios checkboxs, varios radiobuttons, etc..), mi metodo para hacerlo es el siguiente:
Primero accedo al fichero ( tinifile.create(blblabblbla..) ), y a continuación:
Código:
 boton1.color := fichero.readinteger('botones','color',boton1.color);
y aquí es donde se situa mi duda, ¿podria hacer algo para no tener que cargar propiedades componente por componente? supongo que si se podrá pero no se como podria hacerlo.

Espero que me puedan hechar una mano, porque la verdad que cargar uno a uno las propiedades d cada componente es algo pesado..
Si alguno sabe o se le ocurre alguna otra forma d crear skins que sean facil d cargar aunque no usen ini, o no se.. vayan de otra forma pues se lo agradeceria.

Muchas gracias de antemano.
Responder Con Cita