Visual Basic - Cargar imágenes

Life is soft - evento anual de software empresarial
 
Vista:

Cargar imágenes

Publicado por Gema (29 intervenciones) el 09/07/2007 10:54:29
Hola, necesito utilizar un fondo para una aplicación que sea modificable en tiempo de ejecución. Me gustaría que la imagen que cargue tomase el tamaño del formulario. ¿Qué control debo utilizar image, picturebox, ... o algún otro? Gracias.
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
sin imagen de perfil

RE:Cargar imágenes

Publicado por Plutarco (27 intervenciones) el 09/07/2007 17:08:16
Depende de cómo quieras presentar tu imagen, por ejemplo puedes usar el control image y poner su propiedad stretch en True, eso hará que la imagen se adapte al tamaño del control, sin embargo, lo primero que debes hacer es saber si la imagen va a cambiar de tamaño dependiendo del tamaño del formulario, si no va a cambiar de tamaño yo te recomendaría que uses la propiedad Picture de tu formulario, sin embargo la imagen deberás hacerla para que ajuste al tamaño de tu formulario ya que no te permite ajustarla, cosa que si puedes hacer con los controles picture e image.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cargar imágenes

Publicado por fernando (102 intervenciones) el 10/07/2007 02:16:38
Codigo del Form1:

Option Explicit

Private Const Ancho_Nav As Single = 3000
Private Const Alto_Nav As Single = 3000

Private Sub Form_Load()
Call Centrar_Imagen(Me, "J:\Documentos\piojos\piolho.jpg") 'acá va la ruta de la imagen
End Sub

'Redimensionado de los controles
Private Sub Form_Resize()

Dim Old_Scale As Single

Old_Scale = ScaleMode
ScaleMode = vbTwips

If WindowState = 1 Then Exit Sub

If ScaleWidth < (Screen.Width) / 5 Then
Me.Width = (Screen.Width) / 5
Posicionar
Exit Sub
End If

If ScaleHeight < Alto_Nav * 2 Then
Me.Height = Alto_Nav * 2
Posicionar
Exit Sub
End If

Posicionar

ScaleMode = Old_Scale

End Sub

Private Sub Posicionar()

On Local Error Resume Next

'Vuelve a centrar la imagen en el picture
Call Centrar_Imagen(Me, "J:\Documentos\piojos\piolho.jpg")
End Sub


Código de Module1:

Option Explicit
'Variable para almacenar la imagen
Private Pic As IPictureDisp

Sub Centrar_Imagen(Objeto As Object, Path_Imagen As String)

On Error GoTo ErrSub

Dim Ancho_Obj As Single 'Ancho en Pixeles del objeto contenedor
Dim Alto_Obj As Single 'Alto en Pixeles del objeto contenedor
Dim Old_Scale As Single 'Para lamacenar el ScaleMode del objeto

Static old_Path As String

If old_Path <> Path_Imagen Then
Set Pic = LoadPicture(Path_Imagen)
End If

With Objeto

.AutoRedraw = True
.Cls

Old_Scale = .ScaleMode

.ScaleMode = vbPixels

Ancho_Obj = .ScaleWidth
Alto_Obj = .ScaleHeight

End With

'Dibuja la imagen
Objeto.PaintPicture Pic, 0, 0, Ancho_Obj, Alto_Obj

'Restaura el ScaleMode
Objeto.ScaleMode = Old_Scale

old_Path = Path_Imagen

Exit Sub

'Error
ErrSub:
MsgBox Err.Description, vbCritical

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar