Inicio > Ejemplos, XE2 > Testeando XE2… (Estilos)

Testeando XE2… (Estilos)

martes, 13 de septiembre de 2011 Dejar un comentario Ir a comentarios
Share Button

Otra de las cosas de las que ya he hablado y que llaman la atención en esta nueva versión de Delphi, son los estilos. Es una primera implementación y es mejorable en muchos aspectos, pero es una paso más y un avance más para poder personalizar nuestras aplicaciones.

Hay que decir que el funcionamiento general es muy sencillo.

estilos1

Estaría bien, por ejemplo, mejorar el generador de estilos para que se pudieran importar estilos desde otros archivos similares. En mi caso el generador se ha mostrado “poco estable” cuando he intentado hacer algo más complejo (cambio de imágenes) que intentar modificar los colores del estilo cargado.

Por internet podéis descargar varios videos sobre el uso del «VCL Style Designer», que así es como se llama la herramienta para crear y modificar los estilos. Aunque es bastante sencilla e intuitiva. Una vez cargado el estilo, podemos modificar los diferentes elementos. Se puede exportar la imagen del estilo completo, modificarla desde un editor externo y luego volverla a cargar, para poder así asignar elementos de esa nueva imagen a los diferentes componentes. Se pueden cargar varias imágenes y combinar elementos de varias de ellas; Pero como he dicho en estas operaciones se ha mostrado «inestable»

Los componentes que derivan de los estándar cogen de forma correcta los estilos.  Lo que no he podido probar (y no parece que exista ahora solución -digo esto sin habérmelo mirado mucho-) es qué posibilidades hay para componentes «externos» que no deriven de uno estándar.

Una creado o modificado un estilo podemos cambiar los campos que identifican al creador, desde la misma herramienta de creación (autor, versión, página web y correo electrónico). Mientras que la previsualización desde el «Style Designer» funciona bastante bien (salvo cuando hay algun error que no muestra nada -tampoco el error-), desde el IDE de Delphi la previsualización es defectuosa (podrían haber utilizado el mismo método que desde el Designer) o «floja» por decirlo así.

En resumen, aunque el sistema tiene algunos detalles todavía faltos de pulir, en general me parece un acierto el poder dotar de esta posibilidad a las aplicaciones que se realicen. El sistema es muy sencillo de utilizar y aunque tiene algunas limitaciones, funciona bastante bien.

Actualmente al cargar instalar Delphi XE2 contamos contamos con 5 estilos que podemos utilizar.

Desde la web de Rodrigo podeís descargar algunos que él ya ha creado y es de esperar que los miembros de la comunidad vayan «colgando» los suyos propios a medida que los vayan creando (para eso supongo que se ha distribuido). Desde ahí mismo podéis consultar la explicación detallada de cómo crear nuevos estilos a partir de los existentes.

El código para cargar el estilo es bastante simple a partir de su nombre:

Var
  Estilo:TStyleManager;
  i:integer;
begin
  Estilo := TStyleManager.Create;
  try
    i := Random(6);
    Estilo.SetStyle(lEstilos[i]);
  finally
    Estilo.Free;
  end;</p>

En mi caso cargo los estilos de forma aleatoria a partir de un array donde los tengo definidos.

// Ini estilos</p>
lEstilos[0] := 'Windows';
lEstilos[1] := 'Aqua Graphite';
lEstilos[2] := 'Aqua Light Slate';
lEstilos[3] := 'Emerald Light Slate';
lEstilos[4] := 'Golden Graphite';
lEstilos[5] := 'Ruby Graphite';</p>

Hasta aquí esta primera visión. En general me ha parecido positivo. Algunos aspectos por pulir, pero creo que es un detalle más, que hace subir puntos a esta versión.

Un saludo.

3/5 - (1 voto)
Categories: Ejemplos, XE2 Tags: , , ,
Subscribe
Notify of
guest

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

15 Comments
Inline Feedbacks
Ver todos los comentarios
Aion
Aion
13 years ago

Aun no me he bajado una versión de prueba (más que nada por el tiempo), pero dime neftali, has probado AlphaControls? Si es así estos estilos tienen el mismo potencial? Los componentes se pueden animar? Los componentes pueden tomar otro estilo que no sea el suyo propio? Es decir puedo mostrar un panel con la apariencia de un botón?

En cualquier caso buen review, y cada bes me entran más ganas de probar el XE2.

Aion
Aion
13 years ago

@Germán Estévez
Wooo, simplemente genial el demo (gracias), creo que sí que hay que ir presupuestando esta versión (lástima que solo hay compilador de 64 para Delphi y dejan a c++ para la próxima), nos vemos.

Silver
Silver
13 years ago

Hola Neftali!

Muy interesantes todas tus entradas, como es habitual!!.

En referencia a los estilos, quería hacerte una pregunta: ¿Sabes si es posible cambiar aspectos como el color de fondo de un Tedit,un Tform… en tiempo de ejecución?. He utilizado estos estilos en algún aplicación y veo que los controles no pueden actualizarse, como por ejemplo edit1.Color := Clblue….?

Gracias,

Silver.

Silver
Silver
13 years ago

@Germán Estévez

Hola Neftali, quizás no utilizo bien los estilos. Por ejemplo, si colocamos en un formulario simplemente, un tbutton y tedit con el fondo blanco, y decimos que al pulsar el boton «edit1.color := Clred» su fondo será rojo. Si yo aplico un estilo a la aplicación a través de Project-Options-Appearancce, al ejecutar mi aplicación se aplica el estilo seleccionado, pero cuando pulso el botón para cambiar la apariencia del Tedit, el fondo no toma el color Clred, queda siempre con el estilo por defecto. Esto era la duda que te lanzaba. Utlizo la última versión el Update1 :-(.

Ivan
Ivan
13 years ago

Gracias Neftali por tus aportes. Tienes idea donde consigo el source code del ejemplo FMControlsDemo.zip ? Gracias.

jofebas
jofebas
9 years ago

Hola. estoy utilizando los vcl.Themes y cuando llamo un form dentro de otro se desactivan sus botones de cerrar, minimizar, etc. y también los mainmenus.

tendrán alguna idea de como corregir este problema?

jofebas
jofebas
9 years ago

@Germán Estévez
Hola.
si al desactivar los temas y regresarlo a tema Windows, todo funciona perfecto.
Los bordes los tengo como Single, ya los he cambiado y nada.
la posición es poDesigned.
y los llamo con este código:

Windows.SetParent(Form1.Handle, Panel1.Handle);
Form1.Show;

Giuliano
Giuliano
4 years ago

Si coloque un tema desde el menu Appearence en Options: como vuelvo a la normalidad?

15
0
Would love your thoughts, please comment.x
()
x