Visual Basic - CreateRectRgn, SelectObject y vuelta atrás

Life is soft - evento anual de software empresarial
   
Vista:

CreateRectRgn, SelectObject y vuelta atrás

Publicado por victor (1 intervención) el 02/03/2009 19:44:49
hola a tod@s,

estoy haciendo una pintada en un formulario,
pinto una zona de un picturebox en mi formulario,
pero no quiero pintarlo todo, si no únicamente una zona cuadrada:

Dim lRegion as Long, lOldRegion as Long
lRegion = CreateRectRgn(0, 0, 450, 450)
lOldRegion = SelectObject(MesaFrm.hDC, lRegion)
BitBlt MesaFrm.hDC, 0, 0, 450, 450, FondoFrm.hDC, 0, 0, SRCCOPY
SelectObject MesaFrm.hDC, lOldRegion
DeleteObject lRegion

bien, con esto consigo mi propósito: sólo pintar una región de 450x450.
el caso es que con el segundo SelectObject, pretendo volver a dejar todo
como estaba... pero no es así. todo se queda como si la región siguiera
activa, es decir, pinte lo que pinte, lo que se sale de esta región no se
ve en el formulario.

tengo que hacer otro tanto, esta vez de todo el formulario para volver a
la situación inicial...

lRegion = CreateRectRgn(0, 0, 800, 600)
lOldRegion = SelectObject(MesaFrm.hDC, lRegion)
SelectObject MesaFrm.hDC, lOldRegion
DeleteObject lRegion

alguna sugenrencia???
gracias anticipadas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder