Ver Mensaje Individual
  #16  
Antiguo 12-03-2013
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Reputación: 19
Chris Va por buen camino
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!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita