Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Mantener un PaintPicture

Estas en el tema de Mantener un PaintPicture en el foro de Visual Basic clásico en Foros del Web. Buenas, no se si alguno utilizo PaintPicture por ejemplo en un form.... (para dimensionar una imagen al tamaño del form por ejemplo) No se si ...
  #1 (permalink)  
Antiguo 01/01/2008, 17:42
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Mantener un PaintPicture

Buenas, no se si alguno utilizo PaintPicture por ejemplo en un form....

(para dimensionar una imagen al tamaño del form por ejemplo)

No se si notaron que si se minimiza o se pierde el foco del form, la imagen desaparece...

Alguna solucion?

EDITO: Si o si tiene que ser en un form, la idea es insertar una imagen y que quede justo con el tamaño del form (aunque quede deformada)
  #2 (permalink)  
Antiguo 03/01/2008, 06:48
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Mantener un PaintPicture

Hola,culd,primero cuando lei tu post ,pense en la propiedad ClipControls,pero despues lo probe y cuando lo minimizo y lo restauro devuelta aparece la imagen sin problemas,¿en que evento del form pones el codigo del PainPicture?

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #3 (permalink)  
Antiguo 03/01/2008, 07:09
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Re: Mantener un PaintPicture

Cita:
Iniciado por seba123neo Ver Mensaje
Hola,culd,primero cuando lei tu post ,pense en la propiedad ClipControls,pero despues lo probe y cuando lo minimizo y lo restauro devuelta aparece la imagen sin problemas,¿en que evento del form pones el codigo del PainPicture?

saludos.
Larga historia si te cuento para que quiero utilizarlo... Pero vamos a un ejemplo sensillo

en un proyecto nuevo... en un boton nuevo

Me.PaintPicture LoadPicture("c:\Imagen.jpg"), 0, 0, Me.Width, Me.Height

Ahi teoricamente carga en el form la imagen acomodada al form (sin importar que la imagen sea mas chica o mas grande que el form)...

Si minimizo la imagen desaparece (o si cambio el foco a otro form o a otra parte)

-----------------------------------------------------------------

En fin, ya lo solucione, no lo dije por que pareciera como que a nadie le importa, pero ya que estamos te lo digo ;)

NOTA: La forma que lo solucione no es la mas optima pero sirve...

ELEMENTOS: 1 PictureBox, 1 Form, GANAS DE PROBAR...

Código:
Picture1.AutoRedraw = True
Picture1.Width = Form1.Width
Picture1.Height = Form1.Height
Picture1.PaintPicture LoadPicture("c:\imagen.jpg"), 0, 0, Picture1.Width, Picture1.Height
SavePicture Picture1.Image, "c:\imagenajustada.bmp"
Form1.Picture = LoadPicture("c:\imagenajustada.bmp")
En sintesis, la unica forma que encontre fue esta...
Uso un picture (puede ser una variable del tipo picture, no probe pero puede ser), pongo el picture del tamaño del form, y cargo la imagen a ese tamaño...
Guardo esa imagen del picture y luego cargo en el Picture del form, asi no se borra al minimizar y todos los objetos se ven (ya que la imagen esta de fondo)...
  #4 (permalink)  
Antiguo 03/01/2008, 07:25
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Mantener un PaintPicture

aa que quilombo jeje ,mira yo lo hacia asi,no se si es una forma buena ,pero funciona tambien:

Código:
Private Sub Form_Paint()
Me.PaintPicture LoadPicture("c:\Imagen.jpg"), 0, 0, Me.Width, Me.Height
End Sub

Private Sub Form_Resize()
Me.PaintPicture LoadPicture("c:\Imagen.jpg"), 0, 0, Me.Width, Me.Height
End Sub
y ahi lo repinta cada vez que lo resizas al form.

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #5 (permalink)  
Antiguo 03/01/2008, 07:48
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Re: Mantener un PaintPicture

Cita:
Iniciado por seba123neo Ver Mensaje
aa que quilombo jeje ,mira yo lo hacia asi,no se si es una forma buena ,pero funciona tambien:

Código:
Private Sub Form_Paint()
Me.PaintPicture LoadPicture("c:\Imagen.jpg"), 0, 0, Me.Width, Me.Height
End Sub

Private Sub Form_Resize()
Me.PaintPicture LoadPicture("c:\Imagen.jpg"), 0, 0, Me.Width, Me.Height
End Sub
y ahi lo repinta cada vez que lo resizas al form.

saludos.

Muy buena, el drama es que ese form tiene propiedades en el resize y me afectan.

Voy a ver como acomodo, por que esta es mas optima.

EDITO: No, sonamos...

Al estar con PaintPicture hay veces que si abris otra ventana te deja en blanco alguna parte donde se encimaba la ventana...

En realidad estoy moviendo algunos controles en tiempo de ejecucion y me pasa eso, osea se despinta, tendria que pintar constantemente...

Aborto la mision.
  #6 (permalink)  
Antiguo 07/01/2008, 14:44
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Re: Mantener un PaintPicture

Cita:
Iniciado por culd Ver Mensaje
Muy buena, el drama es que ese form tiene propiedades en el resize y me afectan.

Voy a ver como acomodo, por que esta es mas optima.

EDITO: No, sonamos...

Al estar con PaintPicture hay veces que si abris otra ventana te deja en blanco alguna parte donde se encimaba la ventana...

En realidad estoy moviendo algunos controles en tiempo de ejecucion y me pasa eso, osea se despinta, tendria que pintar constantemente...

Aborto la mision.
Tenes hasta el sp6b instalado.. de lo contrario si el redibujo es lo único que te queda..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #7 (permalink)  
Antiguo 15/11/2008, 09:48
 
Fecha de Ingreso: noviembre-2008
Mensajes: 1
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Mantener un PaintPicture

Solución:
Usa como Destino un Picture, y en el Picture activa la opción AutoRedraw!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:20.