Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Cambiar los colores de algunos componentes (https://www.clubdelphi.com/foros/showthread.php?t=90416)

santiago14 03-06-2016 02:23:33

Cambiar los colores de algunos componentes
 
Buenas, estoy haciendo un sistema.
El propietario a contratado unos diseñadores gráficos para que le den "un mejor" aspecto al sistema. Lo han logrado. Ahora bien, a mí me toca cambiar los colores y demás para que los formularios queden como ellos los han diseñado.

El tema es que se me está haciendo difícil la tarea. Me pasaron los colores en Hex y resulta que no son iguales cuando los pongo en la propiedad Color de, por ejemplo, el form, de ahí que $0008B4AE es para ellos una gama de verde y a mí me sale una cosa medio amarilla.
Bueno, eso sería pedirle a estos tipos que me pasen los colores en formato RGB, tal vez eso solucione el drama.
La otra cuestión es que no puedo cambiar los colores de algunos lugares de los componentes. Por ejemplo el ComboBox, ellos han cambiado solamente el color del botón que despliega la lista, y la propiedad Color que tengo cambia el color del interior, y así.
También tienen un degradee en los botones, cambiaron el color de los botones del scroll de las grillas y los bordes de los componentes (por ejemplo el TEdit)
Ah, y esos bordes son redondeados.

Pregunta, ¿cómo puedo manipular los componentes un poco para meter los colores que necesito? ¿Y redondear los bordes?
Lo mas complicado es el asunto de los colores, puesto que los tipos de letras y los tamaños no son un problema.

Tengo los componentes JEDI por ahí, ¿habrá algunos que me ayuden en mi causa?

Bueno, muchas gracias.

ecfisa 03-06-2016 03:55:55

Hola.

No olvides que es una consulta por hilo, de la guía de estilo:
Cita:

12. Solo se permite una pregunta por hilo, es una cuestión de simplicidad y objetividad en las respuestas y facilita las búsquedas.
Si te referis a redondear las esquinas: show controls with rounded corners?.

En una ocasión Neftali había mencionado un enlace a una alternativa que no logro encontrar ahora, si lo hago te lo agrego.

Saludos :)

roman 03-06-2016 04:01:54

Un color como $0008B4AE me imagino que está en formto RGB (R=08, G=B4, B= AE) aunque no sé para qué son los dos 0 iniciales. Éstos los pedes pasar a la funciín RGB de Dephi como hexadecimales: RGB($08, $B4, $AE) para obtener el valor que debes asignar a la propiedad Color. Lo acabo de probar en HTML y sí es un tono de verde :)

LineComment Saludos

ecfisa 03-06-2016 04:02:15

No pude encontrar el hilo pero había guardado el enlace en marcadores, era este: Alternativas a los skins.

Saludos :)

Edito: Usando: Color := $8B4AE, también obtengo un tono similar al verde oliva.

Delphius 03-06-2016 06:16:58

Eso no es RGB! Hay un byte más muchachos! Y eso significa que uno de ellos es el canal alpha. Hay varios formatos: BGRA, RGBA, ARGB.

Si no se aclara ese punto, dificil avanzar. Puede que sea como apunta ecfisa y sugiera que se trate de ARGB... ¡o una simple coincidencia!

roman 03-06-2016 08:38:41

Así es, puede ser el canal alfa, pero estando en cero... Pero, tienes razón, mientras no sepamos más no podemos decir gran cosa. De todas formas, parece que esos diseñadores se pensaron que estaban diseñando un sitio web y no una aplicación de escritorio ;)

LineComment Saludos

Neftali [Germán.Estévez] 03-06-2016 10:12:34

Para el tema de los colores hay infinidad de utilidades que e pueden ayudar.

Yo en concreto, uso a menudo una llamada ColorPic (http://www.iconico.com/colorpic/) que te muestra cualquier color en varias codificaciones.



En delphi tienes la correspondencia (cambiando el orden)


Neftali [Germán.Estévez] 03-06-2016 10:24:24

Cita:

Empezado por santiago14 (Mensaje 505892)
Pregunta, ¿cómo puedo manipular los componentes un poco para meter los colores que necesito? ¿Y redondear los bordes?
Lo mas complicado es el asunto de los colores, puesto que los tipos de letras y los tamaños no son un problema.

Para este tema, aunque ya te han pasado algunos links, te recomiendo que revises soluciones ya programadas, porque el tema del "pintado" de los componentes no es algo simple y trivial. Es un tema complicado; Los mensajes DRAW y PAINT -relacionados- son delicados de tocar y si no se tiene claro lo que se está haciendo, se pueden generar muchos problemas.

No comentas la versión de delphi que usas.

* Una opción es utilizar (si puedes) una de las últimas versiones de delphi, que soportan estilos.
* La otra es revisar alguno de los paquetes comerciales que hay para skins (que son todos de pago). AlphaSkins, Almdev, Link-rank, TMS, sunisoft,...

santiago14 03-06-2016 13:02:14

Gracias a todos.
Había olvidado eso de hacer una sola pregunta por Hilo. Lo tendré en cuenta.
Uso Delphi 7.

Santiago.

ecfisa 03-06-2016 13:10:35

Hola Santiago.

Encontre unos componentes (freeware+source) que trae un combobox que permite el cambio de color del arrow down button : ALListBox v.4.02.
También trae demos ejecutables, así que podes revisar el comportamiento antes de instalarlos.

Saludos :)

santiago14 03-06-2016 14:56:03

Cita:

Empezado por ecfisa (Mensaje 505910)
Hola Santiago.

Encontre unos componentes (freeware+source) que trae un combobox que permite el cambio de color del arrow down button : ALListBox v.4.02.
También trae demos ejecutables, así que podes revisar el comportamiento antes de instalarlos.

Saludos :)

Mil gracias compañero. Los reviso y aviso.

santiago14 03-06-2016 21:17:05

Cita:

Empezado por Neftali (Mensaje 505907)
Para el tema de los colores hay infinidad de utilidades que e pueden ayudar.

Yo en concreto, uso a menudo una llamada ColorPic (http://www.iconico.com/colorpic/) que te muestra cualquier color en varias codificaciones.



En delphi tienes la correspondencia (cambiando el orden)


Tenías razón, hay que dar vuelta los valores y la cosa pinta mejor.
Por ejemplo: DED2B4 que me enviaron los diseñadores es para Delphi (7 y XE5) #00B4D2DE, hay que cambiar los HEX del final por los primeros.
Bueno, con eso ya estoy mas cerca.

Muchas gracias.

santiago14 03-06-2016 21:18:08

Cita:

Empezado por ecfisa (Mensaje 505910)
Hola Santiago.

Encontre unos componentes (freeware+source) que trae un combobox que permite el cambio de color del arrow down button : ALListBox v.4.02.
También trae demos ejecutables, así que podes revisar el comportamiento antes de instalarlos.

Saludos :)

Estoy viendo los componentes, los he descargado pero me están dando varios errores al momento de la instalación.
Voy a seguir insistiendo y comento.

Santiago.

Delphius 04-06-2016 01:33:30

Cita:

Empezado por santiago14 (Mensaje 505921)
Tenías razón, hay que dar vuelta los valores y la cosa pinta mejor.
Por ejemplo: DED2B4 que me enviaron los diseñadores es para Delphi (7 y XE5) #00B4D2DE, hay que cambiar los HEX del final por los primeros.
Bueno, con eso ya estoy mas cerca.

Muchas gracias.

Por lo que dices, eso sugiere que el formato es ABGR. Pero que yo recuerde, este no existe.
Lo extraño es que Lazarus también muestra el color así. Recién caigo en la idea. No le había prestado antención.

Aunque ahora que lo pienso, ¿no será que esto está dado en orden de bytes? Ahí tendría sentido... a lo que nosotros llamamos coloquialmente RGBA internamente la máquina debe hacer esto: MSB -- ABGR -- LSB. Por tanto en la parte más baja estará el rojo y en la más alta el canal alfa. Tengo entendido que este es el orden que sigue el formato PNG, y que incluso en el que trabaja OpenGL.
Lo que no sabría decir es si esto también se ve afectado por el endianness.

Saludos,


La franja horaria es GMT +2. Ahora son las 04:26:05.

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