elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  MDI con imagen
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: MDI con imagen  (Leído 8,070 veces)
Gorky


Desconectado Desconectado

Mensajes: 770



Ver Perfil WWW
MDI con imagen
« en: 27 Noviembre 2006, 13:21 pm »

Buenas foreros. Creo que lo que vengo a preguntar no tiene posible solucion.

Quisiera poner una imagen de fondo en un formulario MDI. Se que esto es posible. Lo que ocurre es que te la pone en la esquina superior izquierda y yo lo que quiero es que me la coloque ocupando todo el fondo y que cuando se redimensione el formulario que tambien lo haga la imagen.
Por lo tanto lo que a mi se me ha ocurrido es crear un formulario flotante sin bordes y colocarle ahi la imagen con la propiedad stretch = true. Despues me he ido al evento Resize el formulario MDI y he igualado las propiedades Height y Width tanto de la imagen como del formulario flotante con las del formulario MDI de esta forma:
Código:
Private Sub MDIForm_Resize()
frmImagen.Height = Me.Height
frmImagen.ScaleHeight = Me.ScaleHeight
frmImagen.ScaleWidth = Me.ScaleWidth
frmImagen.Width = Me.Width
frmImagen.imgLogo.Width = frmImagen.Width
frmImagen.imgLogo.Height = frmImagen.Height
End Sub
Esta idea seria correcta si no fuese por un pequeño fallo: el evento Resize no se activa cuando maximizamos el formulario. Sin embargo si que funciona bien cuando tiramos de los bordes para cambiar el tamaño del formulario.

Conoceis algun modo de conseguir mi proposito?


En línea

jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Re: MDI con imagen
« Respuesta #1 en: 27 Noviembre 2006, 17:22 pm »

Cuando se maximiza conoces el tamaño.... aunque no se active el evento resize... puedes ponerlo en el evento "activate".


En línea

ups!!
Gorky


Desconectado Desconectado

Mensajes: 770



Ver Perfil WWW
Re: MDI con imagen
« Respuesta #2 en: 27 Noviembre 2006, 17:43 pm »

Cuando a las 20:30 llegue a mi casa lo probare.Gracias.
En línea

Ironhorse

Desconectado Desconectado

Mensajes: 150



Ver Perfil
Re: MDI con imagen
« Respuesta #3 en: 27 Noviembre 2006, 19:55 pm »

El evento Resize se dispara siempre, incluso al maximizar, minimizar o restaurar.
En línea

Pégense una vuelta por Cracton :)
Gorky


Desconectado Desconectado

Mensajes: 770



Ver Perfil WWW
Re: MDI con imagen
« Respuesta #4 en: 27 Noviembre 2006, 20:41 pm »

Cuando se maximiza conoces el tamaño.... aunque no se active el evento resize... puedes ponerlo en el evento "activate".

Eso me funciona a medias. Como se inicia en maximizado y es en ese momento cuando se activa pues funciona. Sin embargo si restauro la ventana no se activa. Alguna otra solucion?

Citar
El evento Resize se dispara siempre, incluso al maximizar, minimizar o restaurar.

Eso pensaba yo pero me he dado cuenta de que es un error.
En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: MDI con imagen
« Respuesta #5 en: 27 Noviembre 2006, 21:11 pm »

y porque no pones un picture box, dentro del PictureBox un ImageBox con la propiedad Stretch = true y usas los eventos Resize del form y del picture para poner el tamaño de la imagen

en las propiedades de los controles pones
Picture1:
Aling = 3

Image1:
Stretch = true

Private MDIForm_Resize()
   picture1.width = me.scalewidth
end sub

Private sub Picture1_Resize()
   Image1.with = picture1.ScaleWidth
   Image1.Height = picture1.ScaleHeight
end sub
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Gorky


Desconectado Desconectado

Mensajes: 770



Ver Perfil WWW
Re: MDI con imagen
« Respuesta #6 en: 27 Noviembre 2006, 22:06 pm »

y porque no pones un picture box, dentro del PictureBox un ImageBox con la propiedad Stretch = true y usas los eventos Resize del form y del picture para poner el tamaño de la imagen

en las propiedades de los controles pones
Picture1:
Aling = 3

Image1:
Stretch = true

Private MDIForm_Resize()
   picture1.width = me.scalewidth
end sub

Private sub Picture1_Resize()
   Image1.with = picture1.ScaleWidth
   Image1.Height = picture1.ScaleHeight
end sub

Creo que es eso lo que he hecho. No estoy seguro porque no tengo el proyecto delante. Lo de la propiedad Strech si que lo he hecho. Sin embargo algunas cosas no son exactamente iguales. Cuando llegue a mi casa lo compruebo. Gracias.
En línea

Gorky


Desconectado Desconectado

Mensajes: 770



Ver Perfil WWW
Re: MDI con imagen
« Respuesta #7 en: 28 Noviembre 2006, 12:21 pm »

Ya esta solucionado. Tampoco era como Celaya decia. Sin embargo me ha servido de ayuda. Posteo el codigo para que quien quiera lo pueda hacer.
Código:
Private Sub MDIForm_Resize()
Picture1.Width = Me.Width
Image1.Height = Picture1.Height
Image1.Width = Picture1.Width
End Sub
En línea

Gorky


Desconectado Desconectado

Mensajes: 770



Ver Perfil WWW
Re: MDI con imagen
« Respuesta #8 en: 29 Noviembre 2006, 20:38 pm »

Ahora tengo un nuevo problema. Lo anterior ya esta solucionado. Sin embargo cuando hago:
Código:
Form1.show
no se muestra.
Supongo que el problema es que se muestra por detras del PictureBox. Para todo esto tengo que dar como dato que el resto de los formularios estan puestos como MDIChild. Sin embargo si los pongo como formularios normales no se me produce este problema pero pierdo las caracteristicas de un Child. Se os ocurre alguna solucion para poder seguir siendo MDIChild y que aparezca por encima del PictureBox (supongo que es que aparece por detras pero es que yo ni lo veo)? Gracias.
En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: MDI con imagen
« Respuesta #9 en: 29 Noviembre 2006, 21:24 pm »

a ver ya no entendi bien lo que estas haciendo. Quieres tener una imagen de fondo en el MDIForm?, con el código que pusiste deberia estar bien,  a menos que el control Image no este dentro del Picture   :huh:

imagino que lo que quieres es hacer más o menos esto


este es un MDIForm y la imagen la tengo en un picturebox y la redimensiono con el código que te pase, que si lo analizas es lo mismo que tu tienes
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines