Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Previsualizar estilo vcl antes de aplicarlo (https://www.clubdelphi.com/foros/showthread.php?t=95904)

juniorSoft 13-10-2022 16:27:30

Previsualizar estilo vcl antes de aplicarlo
 
Hola Amigos,

Estoy utiizando Delphi 10.4 y quiero actualizar mi aplicacion aplicandole de los estilos VCL que trae nuestro IDE, para ello estoy diseñando un formulario modal y lo que me interesa es obtener una Preview del estilo que voy a aplicar en un panel, quizas podria tener una imagen de cada estilo pero eso solo abultaria los archivos a entregar. Sospecho que debe haber algún metodo que obtenga dicha preview sin tener que guardar un monton de imagenes para este proposito.

Desde ya gracias....

chenech 13-10-2022 16:57:18

Yo tengo un menú donde el usuario eligue el estilo y lo que hago es aplicarlo a la aplicación y guardarlo para ese usuario.
Todos los estilos que deseen deben ir cargados al compilar, yo uso 7 si no recurdo mal y no crece practicamente el tamaño del ejecutable, luego los aplico con TStyleManager::TrySetStyle.
No los visualiza sino que se cambia la aplicación y guarda el que le guste.
Un saludo.

Neftali [Germán.Estévez] 13-10-2022 17:12:54

Cita:

Empezado por juniorSoft (Mensaje 548667)
...lo que me interesa es obtener una Preview del estilo que voy a aplicar en un panel

Aplica directamente el estilo que quieres y lo verás reflejado en el panel y en el resto de controles.
Si lo [ACEPTAS] basta con dejarlo, sin se [CANCELA] vuelves al anterior.

juniorSoft 13-10-2022 17:14:39

Hola chenech, muchas gracias por responder.

Yo tambien lo tengo así en un menú, pero de esa forma hasta que el usuario no cambia el estilo no tiene una idea de como va a quedar.

Entoces la idea que quiero adicional a tener el menu es mostrarle un preview antes de que se aplique ese estilo.

chenech 13-10-2022 21:00:54

Hay una versión, no recuerdo a partir de cual de Delphi que puede aplicar el estilo a un form solamente, si tienes esa versión o superior puedes hacer un form con cada estilo y presentalo, antes de que elija el usuario. Si no, pues prueba y ensayo como hago yo :) que los vaya eligiendo y cambiando la aplicación hasta que le guste uno :-(.
La otra opción que comentas al principio de tener una imagen de ejemplo de cada uno, un jpg por cada estilo, tampoco creceria mucho la aplicación, sería mas elegante, mostrarlos todos, click e uno y ese aplicas. Esta me gusta la verdad, igual te tomo la idea y la aplico :-).
Un saludo.

juniorSoft 13-10-2022 21:45:25

Excelente,

Gracias a ambos por su pronta respuesta.

Le aplique el estilo a un formulario embebido con varios controles como menciono Neftalí y se puede ver el preview antes de aplicar :)

dec 14-10-2022 09:06:28

Hola a todos,

Tenía yo algo implementado por aquí que iba a mostrar en este hilo... pero, ¡no recordaba en qué proyecto exactamente! De modo que he buscado en Google y me he topado con este proyecto que acaso pueda resultar interesante:

https://github.com/EtheaDev/VCLThemeSelector

P.S. Yo miraría el proyecto enlazado, porque, puede resultar útil. Quería añadir que en la implementación que yo usé en su día se usaba la propia VCL, sin embargo, a bote pronto se me ocurre también una solución que podría servir: preparar imágenes de nuestro formulario principal (o de cualquier otro) nombrándolas según el tema que se utilice, y, a continuación, ya podríamos mostrar dichas imágenes en un simple control "TImage", basándonos en el nombre del tema que el usuario pudiese elegir. Creo que se entiende la idea... En todo caso el proyecto enlazado tiene buena pinta y acaso sea bien utilizarlo, aunque, esto de las imágenes... podría también servir, por sencillez, y, porque podría mostrar en una imagen nuestro propio formulario, no "un ejemplo", sino nuestro propio formulario. En fin... ahí lo dejo... por si puede servir a alguien.

juniorSoft 14-10-2022 13:45:07

Hola dec, se ve interesante aunque en este caso hace el proyecto dependiente de instalación de componentes. Cada vez trato lo más posible de reducir la cantidad de componentes de terceros para que en actualizaciones futuras de delphi haya la menor dependencia y que el proyecto se pueda actualizar con menos enfuerzo.

Buscando encontre este : https://github.com/Delphi-FPC-Lazaru...VCLstyles_util

Muestra el preview obteniendolo desde los estilos, aunque siempre uno tiene detalles que le gustaria agregar, por ejemplo colocar varios botones con los distintos estados que pueden tener ya que cambian de color según su situación para así ofrecer más detalles al usuario de como quedará la aplicación.

dec 14-10-2022 16:25:17

Hola a todos,

Cita:

Empezado por juniorSoft (Mensaje 548687)
Hola dec, se ve interesante aunque en este caso hace el proyecto dependiente de instalación de componentes. Cada vez trato lo más posible de reducir la cantidad de componentes de terceros para que en actualizaciones futuras de delphi haya la menor dependencia y que el proyecto se pueda actualizar con menos enfuerzo.

Buscando encontre este : https://github.com/Delphi-FPC-Lazaru...VCLstyles_util

Muestra el preview obteniendolo desde los estilos, aunque siempre uno tiene detalles que le gustaria agregar, por ejemplo colocar varios botones con los distintos estados que pueden tener ya que cambian de color según su situación para así ofrecer más detalles al usuario de como quedará la aplicación.

No te quito la razón en lo que dices de depender de componentes de terceros, sin embargo, el enlazado es de código abierto, y, aparentemente, bien mantenido y actualizado: esto no lo digo por hacerte cambiar de opinión, pues como digo, hasta cierto punto la comparto, pero, también estaremos de acuerdo en que hay componentes de terceros y componentes de terceros, y, este en particular tiene cosas que lo pueden hacer interesante, que son las dichas de que el código fuente está disponible y de que parece que se mantiene y actualiza bastante. Por otro lado, y, al disponer de su código fuente, tal vez pudieras usarlo aunque fuese para sacar alguna idea para llevar a cabo tu propia implementación. :)

juniorSoft 14-10-2022 16:45:34

Si realmente la diferencia con los componentes open source con licencia libres de pago y actualizaciones periodicas dan mucho más libertad que los componentes de pago. En realidad uso unos pocos que sin ellos seria cuesta arriba el trabajo. Osea no estoy cerrado a no usarlos pero si los evito siempre que encuentro una forma que sea menos dependiente. ^\||/


La franja horaria es GMT +2. Ahora son las 14:50:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi