![]() |
Cambiar color a todos los componts del form
Hola a todos.
Cuando se activa un form como showmodal, lo que necesito es que todo el fondo de la pantalla (El formulario principal), se tiña de color piedra o se sombree para evitar confusiones en la visualizacion del usuario. Inicialmente pensé en sobreescribir un form semitransparente pero esto me parece que no es la forma correcta. Se que ustedes conocen una manera mejor Gracias por anticipado. SALU2 |
El fondo de la pantalla?? ... El color del Form + algún panel, frame, group box???
Puedes jugar con la propiedad ParentColor de los componentes, y modificar solo el color del parent indicado, en este caso tu form. Saludos! |
tu sabes que al poner la propiedad enabled:=false a un boton, los graficos, el texto y todo lo que hay dentro de el toma un color que indica desactivado.
Lo mismo quiero hacer con todo el form principal que envia a otra form como showmodal Espero entiendas. OTRA COSA: Mediante mi CORREO accedo a la respuesta de este o cualquier hilo pero SIEMPRE que quiero hacer una respuesta el foro no me reconoce y pide una y otra vez la clave de usuario a conectarse. Tengo que ingresar con http://www.clubdelphi.com/foros para que pueda seguir consultando en el hilo (Una ingrata situacion). Espero que puedas avisar a quien corresponda. Gracias |
Cita:
|
Cita:
|
1 Archivos Adjunto(s)
Hece tiempo estuvimos hablando del tema; Creo que a partir de un ejemplo de Seoane y algunos cambios hechos por mi, resultó esto: (mirar adjunto)
Trabaja con tres forms en pantalla y va colocando el Gris todos menos el activo. |
disculpa, gracias, nadamas, tengo un problema, al compilar el ejemplo que me mandas, me sale un error :
[DCC Error] E2202 Required package 'RxDB6' not found utilizo delphi 2007! sabes a a que se debe el error? gracias por tu tiempo y saludos |
Eso es porque a veces sin darme cuenta subo los proyectos con las opciones que tengo por defecto.
Accede a la opciones del proyecto y en la pestaña packages, desmarca la opción de "Build with runtime packages" |
GRacias brother, listo, lo he podido checar, esta muy bien hecho, gracias bro!
|
Cita:
Al tratarse de una transparencia, el fondo no se convierte necesariamente a gris completamente sino que disminuye el contraste del fondo. Pero un efecto más espectacular es el que se visualiza cuando se coloca: "inicio - apagar equipo", se espera un momento y los colores del fondo cambian mágicamente a un suave color gris, pero la ventana de "apagar" queda a todo color. Espero que acepten el reto. Un saludo. |
Cita:
Este ejemplo estaba hecho con Delphi 6, que no las soporta; Las ultimas versiones ya las soportan. En cuanto al reto, más que a reto me ha sonado a "háganme el trabajo" así que por mi parte lo voy a desestimar. Un saludo. |
Antes de desestimarlo, sugiero a quienes puedan interesarse esperar a que pepe2000 publique su propuesta. No imagino que lance un reto sin estar el mismo dispuesto a participar.
Un saludo. ;) |
Cita:
¿A que te refieres con transparencias? Que yo sepa a partir de D6 existe la propiedad AlphaBlend y AlphaBlendValue para conseguir efectos de transparencias. Con jugar adecuadamente con el color del formulario y AlphaBlendaValue se consiguen efectos muy buenos. Lo único indispensable es que el sistema operativo sea XP. Saludos, |
Cita:
Efectíavamente me refería a las propiedades de AlphaBlend y AlphaBlendValue, que sí están en D6, no en D5. Gracias por la corrección Delphius. |
Cita:
No tienes que agradecerme por la corrección. Además, que pueden pensar el resto de los foristas... ¿¡como es que el alumno le corrije al Maestro!?;):D Saludos, |
Claro que participo
Hola amigos foristas,
Entiendo que algunas personas crean que buscamos que el trabajo lo haga otro, pero en realidad sobre el tema de transparencias, les voy a contar lo siguiente: - Tengo un formulario principal donde está el menú de opciones de mi sistema - Cada opción abre un formulario de forma: Showmodal (es decir no se puede entrar a otra opción mientras no se cierre la ventana). - Algunos controles abren (con Showmodal de nuevo) otras ventanas, para buscar un alumno, o para registrar datos. - El problema era que entre las ventanas abiertas, se creaba una confusión para el usuario para saber cual era la ventana más arriba de las demás. - Lo he solucionado creando un procedimiento que abre un formulario transparente (del tamaño de mi form principal - casi siempre toda la pantalla), y luego abriendo la ventana en sí. - Esta solución crea un efecto de parpadeo molesto, de ahi mi pregunta para conocer una respuesta mejor. La pregunta más interesante, y algo que definitivamente no voy a poder hacer y que queda como reto (jeje, sigo en lo mismo), es hacer ese efecto de windows cuando se coloca: Inicio - Apagar, y se espera un momento, cuando el fondo entero se convierte en gris. ¿Seguiré intentándolo por mi cuenta? Por supuesto, para eso somos programadores... Salu2. |
Cita:
No es por criticarte, pero creo que tienes un grave problema de diseño de interfaces. Un programa no sólo es código, sino que un gran porcentaje de su uso y calidad está reflejado por un adecuado diseño de interfaces. Ten presente que entre el 40 y el 50% de los datos que se suministran provienen desde medios externos por lo que tener un buen balance entre la cantidad de pantallas y la distribución de controles es vital. ¿Cuantas ventanas tiene que abrir el usuario para conseguir UNA funcionalidad? Abrir 3 ya es muy desastroso para el usuario. ¿Como conseguir mejorar esto? Podrías optar por frames. Los frames son como los formularios, unicamente que estos se colocan en los forms, e incluso dentro de otros frames. Se podría decir que es una mezcla de panel con form. Los frames los puedes crear y destruir, ocultar y/o mostrar cuando sea necesario. Otra opción es distribuir la interfaz en base a solapas. Y ni que decir del aprovechamiento de la gran ventaja de contar con la reutilización de la interfaz. En ocasiones se puede conseguir tener altas, bajas, modificaciones y busquedas en un solo form... al fin y a cabo: existen elementos comunes a todos estos procesos. Si logras detectar los elementos comunes ya podrías saber que controles como mínimo disponer y en base a ello distribuir el resto de los elementos de modo que se consiga: 1. reducir los controles 2. agilizar la carga de datos 3. disminución de ventanas Puede que ofrecer ese efecto de "apagado" te sea una solución, pero en ocasiones esto puede ocasionar "ruido "en el proyecto: se concentra el esfuerzo en algo que puede añadir complejidad y que no aporta valor al sistema, solo una mejor cara. Es más... ¡Un usuario puede llegar a pensar de que el sistema está apagando el equipo! De todas formas si deseas continuar con ese aspecto estético considero que con el ejemplo que te dio Neftali puedes darte idea. Si deseas que se vaya produciendo ese efecto de apagado... tienes todo en este sitio para conseguirlo. De hecho, te doy otras pistas: 1. Emplear Timer 2. Abrir Paint: ¿Que particularidad tiene el color gris en formato RGB?¿Cúal es el máximo valor que asume? ¿Cual es el mínimo? Te invito a que uses el buscador de los foros. Lo de imponer un reto no va conmigo. Lo siento... no es un juego, ni hago tareas. Si dices que es un reto bien por ti, espero que lo consigas. Si quieres recibir ayuda, concreta algo. Lamento decirlo pero aquí, no vamos a librar batalla de código, ofreceremos ayuda siguiendo tus avances y tus dudas. Saludos, |
La franja horaria es GMT +2. Ahora son las 20:50:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi