Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cambiar estilo a mi programa (https://www.clubdelphi.com/foros/showthread.php?t=92863)

strelok 26-02-2018 17:57:41

Cambiar estilo a mi programa
 
Hola,

estoy intentando cambiar el estilo del programa a "carbon", el único inconveniente es que quiero un botón extra, uno que sea de "ayuda".
He visto que existe un diseñador "Bitmap styler designer" ¿alguien lo ha usado? ¿cómo agrego un botón extra?

Casimiro Notevi 26-02-2018 20:41:28

¿Un botón extra dónde, cómo?

AgustinOrtu 26-02-2018 23:04:05

Si adivine bien, lo que queres es que el usuario, pulsando un boton, pueda cambiar el estilo del programa.

Basicamente, lo que necesitas hacer es enumerar los diferentes estilos que tu aplicacion provee, y aplicar el estilo seleccionado por el usuario.

Esta solucion muy sencilla, utilizando un componente TComboBox. Al seleccionar un elemento del combo, se cambia automaticamente el estilo del programa

Esta es una variante que pone la lista desplegable de estilos en el menu del sistema

strelok 27-02-2018 12:47:33

Exactamente, he trabajado diseñando una funcionalidad que cambie los componentes de TMS y ya está terminada, sin embargo, nos gustaría cambiar las barras de scroll, entre otros componentes que mi funcionalidad no puede cambiar.
Vi que delphi permite cambiar sus estilos (para componentes genéricos) y quiero usarla con mi funcionalidad, con el objetivo de pintar tanto los componentes genéricos como los de TMS, sin embargo, lo que quiero es arriba aparezcan los siguientes botones: ayuda, minimizar, maximizar y cerrar, por defecto solo aparecen los últimos 3, quiero usar el diseñador de estilos para que de alguna forma me aparezcan los 4 botones antes mencionado ¿me ayudan a usar el editor?

AgustinOrtu 27-02-2018 13:02:46

El diseñador de estilos no tiene nada que ver. Eso es para definir colores, formas,etc de los controles. Si querés un botón, agregas un botón y listo

strelok 27-02-2018 13:14:29

Nosotros actualmente tenemos una barra de herramientas personalizada, con los 4 botones que queremos, pero al cambiar de estilo (Ejemplo: Carbón), aparecen 2 barras, la del estilo y la nuestra.
Necesitamos ocultar una, en caso de poder agregar el botón de ayuda, podríamos ocultar la nuestra, en caso contrario, nos gustaría ocultar la del estilo asignado ¿es esto posible? voy a subir una captura de pantalla en breve



1 - La barra que aparece cuando asignamos cualquier estilo.
2 - La barra personalizada creada por nosotros que tiene los 4 botones que necesitamos.

Lo ideal sería utilizar el estilo para que pinte componentes genéricos, pero ocultar su barra, en otras palabras, ocultar la (1). ¿Es esto posible?

Gracias por tus respuestas.

ElDioni 27-02-2018 14:17:45

Hola,

¿has probado a cambiar lo propiedad BorderStyle de vuestro formulario a BsNone?, eso debería eliminar la barra superior y dejar solo la vuestra.

saludos.

strelok 27-02-2018 17:44:43

Cita:

Empezado por ElDioni (Mensaje 524781)
Hola,

¿has probado a cambiar lo propiedad BorderStyle de vuestro formulario a BsNone?, eso debería eliminar la barra superior y dejar solo la vuestra.

saludos.

Así está actualmente, por lo que siempre funcionó mientras tenía el "estilo" windows (por defecto), pero al usar un "estilo" que no sea windows, se ven las 2 barras

AgustinOrtu 27-02-2018 20:03:55

La verdad no tengo una solucion directa para tu problema. Seguramente jugando con la API de Windows se pueda lograr lo que necesites

Lo mas cercano que vi a lo que propones es usando esto. Al parecer te permite poner controles en la parte de la barra de un formulario (en el titulo, vamos). En el enlace hay imagenes. Aunque nunca lo he usado y no tengo una opinion formada al respecto. Si te puedo decir que el trabajo del autor con respecto a los Vcl Styles es de una calidad inmensa, de hecho, parte de su trabajo fue incluido oficialmente en Delphi, ya que solucionaba unos problemas muy importantes

Con la segunda solucion, lo que harias es tener una unica barra, la que te da Windows, pero le agregas los botones personalizados que necesitas. Y esto seguro de que, de ser necesario, pueden ocultarse/mostrarse dinamicamente

ElDioni 28-02-2018 12:30:51

Supongo que ocurrirá lo mismo si utilizas el código del truco siguiente:

http://clubdelphi.com/foros/showthre...ght=formulario

que es para dar forma a los formularios, porque creo que también lo hace a partir de poner la propiedad BorderStyle a BsNone, de todas formas échale un vistazo.

Saludos.

MacStreet 01-03-2018 22:20:43

usas estos componentes : Vcl.Themes,Vcl.Styles;


y si lo deseas cambiar desde un boton usas esto :


procedure TForm1.Button2Click(Sender: TObject);
begin
TStyleManager.TrySetStyle('Luna'); // Aca pones el nombre de tu skin , por defecto le pusé "Luna"
end;

Saludos.
Revenge -




La franja horaria es GMT +2. Ahora son las 04:17:50.

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