Tengo una ventana transparente (creada con WS_EX_LAYERED) y me gustaría recibir eventos de mouse de las regiones cero alfa.
Por lo que sé, pude:¿Cómo se interceptan los eventos del mouse de una ventana transparente?
1) Use gancho ratón
2) Pintar el fondo con color casi totalmente transparente (que tiene una opacidad de 1)
Sin embargo, la primera solución es consume mucho tiempo y el segundo ralentizará mi tiempo de renderizado ya que mi ventana se extiende casi por todo el escritorio y la mayoría de los píxeles son completamente transparentes en este momento.
¿Hay alguna otra forma de recibir esos eventos de mouse?
¿Necesita esta capacidad general en todo momento o solo en ciertos momentos (por ejemplo, cuando su ventana es la ventana activa). Si es el último, puedes capturar el mouse. –
Otro problema con un gancho es que tienes que tener mucho cuidado de que tu ventana esté en la parte superior para que no robes los clics en otras ventanas. Tal vez sería útil si brindara más información sobre lo que está tratando de lograr. –
Lo explicaré mejor, Estoy dibujando íconos PNG e intentando detectar si el mouse está moviendo esos ítems. Ahora la mayoría de los íconos tienen cero regiones alfa y cuando los cierro no recibo el evento WM_MOUSEMOVE porque las ventanas de sus contenedores son transparentes. – Omer