FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Form padre, hijos y alphablendvalue
Hola compañeros.
Siguiendo el consejo de casimiro, abro este nuevo hilo. Necesito que el formulario principal (o la imagen que contiene alineada al client, un plano topografico, por ejemplo) no sea trasparente pero los formularios hijo si. Sobre ese plano dibujo una casitas que muestran la actividad remota, ahora esas casitas (formularios creados en tiempo de ejecucion) no son trasparentes y tapan el plano, si son muchas, el plano del fondo ni se ve y ademas la casita se puede agrandar (tiene 2 tamaños en funcion de la cantidad de informacion a mostar). Si creo el form hijo y le asigno el parent del formulario padre, las casitas se mueven con el plano pero cojen la propiedad alphablendvalue del padre, osea o todos trasparentes o todos opacos. Si creo el form hijo y no le asigno el parent del formulario padre, las casitas se quedan en la posicion de la pantalla (que es el parent) donde estan y el plano se va solo, eso si, las casitas son trasparentes. ejemplo del codigo
¿Alguna sugerencia (de escafandra, por ejemplo? Gracias aunque sea por leer. |
#2
|
|||
|
|||
prueba esto
he estado haciendo unas pruebas y he sacado algo como esto.
Subo un proyecto hecho en XE2 , para otras versiones igual tienes que cambiar algun uses. Lo he subido al FTP carpeta delphi/ejemplos/varios/mditrans.zip porque no me deja subirlo de ningua otra manera Última edición por Casimiro Notevi fecha: 10-03-2013 a las 21:23:25. |
#3
|
||||
|
||||
Crea el .zip sin el ejecutable, deja sólo el código fuente y súbelo con la opción "archivos adjuntos", así no ocupará casi nada.
|
#4
|
|||
|
|||
ya lo he intentado
Ya lo he intentado pero me dice exceso de cuota.
Y cuando intento ver mis adjuntos me dice: Tú has sido excluido por las siguientes razones: No reason was specified. Fecha en que será levantada tu exclusión: Nunca Lo he subido con ejecutable por si tenia problemas para compilarlo debido a las versiones de delphi |
#5
|
||||
|
||||
Por eso te comento, que lo intentes sin el ejecutable, a ver si así puedes subirlo, no recuerdo cuánto es lo que puedes subir.
|
#6
|
||||
|
||||
Cita:
Busque el archivo "mditrans.zip" en la carpeta Delphi (y subcarpetas) del FTP y no pude encontrarlo, ¿ Tampoco te permitió subirlo allí ? Quita el ejecutable, avisanos si continuas teniendo inconvenientes y vemos como solucionarlo. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
edito, subido sin ejecutable y tambien he quitado la propiedad picture del timage, que era lo que hacia grande el .dfm
por lo tanto deberas asignar un bitmap pequeño al timage Última edición por ricardopl65 fecha: 11-03-2013 a las 22:00:48. |
#8
|
|||
|
|||
Lo subí pero desapareció , lo he vuelto a subir sin ejecutable, pero ya lo podeis quitar puesto que lo he podido poner como adjunto
|
#9
|
||||
|
||||
Gracias por tu aporte ricardo,
A ver si a lo largo de la mañana le hecho un vistazo y os cuento. |
#10
|
||||
|
||||
Ya lo he probado y esta muy bien la jugada ricardo, gracias, pero esta solucion tiene 2 incovenientes, uno es que es totalmente trasparente y no "semitrasparente" como con alphabledvalue y el efecto visual cambia mucho ya que la "casita" original tiene un tono azulado.
La otra es semisolucionable, ya que al ser la forma trasparente no puedo moverla arrastando con el raton y tendria que asignar eventos a cada control de la forma pero no podria moverla pichando "en los huecos" de la forma que es lo que el usuario va a hacer. ¿Que?, ¿Se puede hacer un alphablend sin eredar la propiedad del padre? Thanks. |
#11
|
|||
|
|||
una imagen de las casitas
la forma es transparente excepto el imagedit que contiene la casita, yo no le he puesto imagen por no engordar el zip.
aqui pongo una grabacion bastante mala en mp4 de como me funciona a mi. http://www.ricardoplaza.com/download/recorder.mp4 O igual es que no entiendo bien tu pregunta |
#12
|
||||
|
||||
Jopelines ricardo , los has hecho muy bien entendiendo los formularios como casitas, (que asi lo he explicado yo), ahi podrias poner sobre o alrededor de las casitas la informacion relevante, conectada, desconectada, etc.
Yo no se hacer mp4 (¿podrias decirme como?) pero esta tarde cuando vuelva a las 17:00, preparo una fotos de la aplicacion real y las publico para poder explicarme mejor, por cierto, no hay casitas, son máquinas, jejeje. Muchas gracias por tu colaboracion, a ver si entre todos damos con la solucion. |
#13
|
|||
|
|||
he grabado la imagen con ScreenRecorder y pasado a mp4 con Any Video Converter.
Es que me lo tomo como un reto personal. Mira aun mas facil usando parte del codigo del ejemplo 29 de Seoane. Solo el formulario padre de tipo fsNormal; haciuendo doble clic sobre cada imagen se borra; Última edición por ricardopl65 fecha: 11-03-2013 a las 16:45:21. |
#14
|
||||
|
||||
Buenas, ya estoy aqui, e instalado el camrecorder (gracias) y en puesto en youtube el video que muestra los efectos
http://www.youtube.com/watch?v=LTPEj...ature=youtu.be Como verás entre una imagen preciosa de un paisaje o un plano topografico o de planta el efecto visual cambia mucho, la aplicación funciona bien, pero si los formularios que contienen los objetos de datos fueran semitrasparentes pues como que mucho mejor Habia pensado en dejarlos fuera del formulario padre y detectar el evento de movimiento de ventana (que no lo he buscado, supongo que existe) o el de raton onmousemove como ya hago y mover las ventanas hijas a la vez que se mueve el padre. Pero estaba seguro de que me saldrias con que se puede crear una clase derivada de TForm y hacer que pudieran tener valores de alphablend distintos, aunque como veo que teneis controlado el tema de la imagen, a lo peor no se puede hacer lo que me gustaria (yo de derivar clases y eso, como que controlo poco). Seguire investigando, pero me gustaria saber como sale de esta ricardo, jejeje |
#15
|
|||
|
|||
Lo más que consigo es esto
No se si te servirá pero esto es de momento lo que mas se acerca.
Son ventanas MDI por lo tanto se mueven con el padre. Última edición por ricardopl65 fecha: 11-03-2013 a las 22:04:49. |
#16
|
||||
|
||||
Una ventana que esté dentro de otra no puede tener el estilo "WS_EX_LAYERED", que es lo que necesitas. Entonces lo que necesitas hacer es crear para cada "casita" dos ventanas, o una sola dependiendo del estilo que buscas. Un ejemplo que codifiqué hace un tiempo:
En realidad allí utilizo dos ventanas. La grafica de Ballon en realidad es una sola ventana. Esta es una ventana de capa (WS_EX_LAYERED Window). El problema con la ventana de capas, es que no soportan interacción gráfica. Fueron inventadas con el próposito de hacer los viejos splash screen y cosas similares. Entonces utilizo una segunda ventana para albergar la interfaz (controles y labels) del formulario. Para mover conjuntamente los dos formularios manejo el evento WM_WINDOWPOSCHANGING en uno de ellos. La otra posibilidad es hacer algo más o menos parecido a lo que tienes. En este caso creo que sólo tendrás que manejar el evento WM_WINDOWPOSCHANGING en el formulario padre y conforme mover a los hijos. Pero para conseguir el efecto de transparencia es importante que el formulario hijo NO SEA MDI-Child. Saludos! |
#17
|
||||
|
||||
Gracias cris, voy a ver si me sale.
Thanks |
#18
|
|||
|
|||
el problema de los MDI es que no soportan alphablend. O son transparentes (como en ultimo ejemplo que te puse ) o no lo son.
Una pregunta que se me ocurre ¿ es imprescindible que sean formularios? |
#19
|
||||
|
||||
Hola ricardo,
Pues no, no es imprescindible que sean formularios, de hecho inicialmente eran paneles y como vi que me tapaban el plano, pense en el alphablend del formulario. ¿Que se te ha ocurrido? |
#20
|
|||
|
|||
estoy en ello de momento mirate este video a ver si se acerca a lo que quieres
http://www.ricardoplaza.com/download/ventanatrans.mp4 |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Crear un form fsMDIForm y varios forms hijos | citlalliDgp | Varios | 11 | 07-12-2007 15:13:31 |
¿Quien es mi Form Padre? | gabrio | OOP | 4 | 16-10-2007 20:33:06 |
Nodo padre sin hijos en TTreeView | jorgesl | OOP | 3 | 10-04-2006 20:24:11 |
Formulario padre con hijos | oscarsanta | Conexión con bases de datos | 2 | 31-01-2006 13:17:13 |
como puedo poner form hijos | ronimaxh | Varios | 5 | 22-10-2003 22:55:23 |
|