Ir al contenido


Foto

Problema con Api UpdateLayeredWindow?


  • Por favor identifícate para responder
1 respuesta en este tema

#1 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 06 julio 2011 - 04:03

Bueno ocurre que quiero hacer una aplicacion que use dicha api y ademas contenga controles. La unica solucion que encontre y segun se comenta en este post:

http://foro.elhacker...-t302356.0.html

Es hacer otro form o fake sobre el mismo que solo muestre los botones en el. como se menciona en este post

http://www.codeproje...gWithCtrls.aspx

Pero como lo trabajo bajo Delphi, estoy mas perdido que el Diego paseando en Rio con su camiseta de argentina... xD
O como este video :
‪Coca-Cola Copa America - Infiltrado Peru‬‏

Gracias

  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 06 julio 2011 - 05:01

El uso de la API UpdateLayeredWindow en una ventana transparente es problemática porque dejas de recibir los eventos OnPaint. Ningún control de esa ventana se va a pintar. Eso quiere decir que los debes pintar tu mismo.

Una solución es usar otra ventana no transparente y superponerla. Para dejar sólo los controles visibles, lo mejor es usar regiones que delimiten sólo esos controles. Osea, tienes una ventana transparente con una imagen y encima colocas otra en la que solo se ven controles. Si quieres que los controles adopten determinadas posiciones, deberás encontrarlas con máscaras o con determinados colores o en el canal alfa de una imagen. Recolocas el control y luego determinas las regiones que serán visibles.

Puedes estudiar el ejemplo que escribí en este hilo, aunque en este caso no tiene ventanas trasparentes pues decidí hacerlo todo con regiones.  Puedes obtener mas información de las regiones aquí.


Saludos.


  • 0




IP.Board spam blocked by CleanTalk.