Programación General > Visual C++

 Redibujar Cuando Una Ventana Pasa Por Encima

(1/2) > >>

diego.martinez:
Se genera alguna notificacion WIN32 cuando una ventana pasa por encima de otra?
gracias

ivancp:
Creo que el unico evento que se envia es el de repintado de sectores que lo necesitan.

Prueba con las funciones OnPaint  ú OnDraw, ó el mensaje WM_PAINT.

diego.martinez:
Gracias por la respuesta, el fallo fue mio que no me explique bien.

La cosa es que tengo unas ventanas dibujadas a manita enteras usando GDI en el WM_PAINT.

Y dibujan y redibujan perfectamente cuando salen del monitor, se mueven ... etc.

El problema es que cuando paso una ventana por encima, me genera lineas grises (de no dibujado) sobre la ventana de debajo.

La idea era detectar si una ventana iba a pasar por encima para invalidar el contenido y mandar el mensaje de WM_PAINT.

Yo creo que realmente, al pasar por encima, se manda el WM_PAINT pero el hecho de que no se dibuje bien... no lo entiendo...

gracias.

ivancp:
Creo que con la tecnica de double buffering solucionas tu problema:

http://www.latindevelopers.com/vcpp/bitmap/doble-buffer/

inforsystem:
Hola. Cuando una ventana se superpone sobre otra se envía el mensaje WM_PAINT  a la ventana incativa,con la estructura LPPAINTSTRUCT en el parametro LPARAM, entonces, puedes saber exactamente donde se ha superpuesto la otra vantana(activa).Además puedes colocar la función ValidateRect[...] al final del bloque WM_PAINT.
Saludos.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa