Salve a tutti 
Ho la necessità di inserire una fotografia all'interno di una PictureBox.
Il mio problema sta nel riuscire a ridimensionare l'immagine in base alle dimensioni della PictureBox contenitore.
Ho preso una vecchia procedura creata dal mio capo che dovrebbe fare tutto questo... ma non va'; in pratica sembra che tutto funzioni, ma l'immagine non viene affatto ridimensionata in base alla PictureBox.
Sapreste darmi una mano? è un po' che ci sbatto la testa, e sono sicura che la cosa è banale, ma ormai ne ho la testa piena e non scoverò mai l'errore...
codice:
'NEL FORM
'ho una picture box con dimensioni fisse
'nella sezione dichiarazioni ho dichiarato 2 costanti:
Const cstLngAltPCBox As Long = 3735
Const cstLngLargPCBox As Long = 4455
'nella sub che carica l'immagine chiamo la sub che la ridimensiona
' e che si trova su un modulo di classe
Private Sub InserisciFotografia()
'carico i dati dal db, creo il file immagine
...
' Assegna il file creato alla picturebox pcFoto
' strPerc è il percorso del file immagine sull'HD
' Carica l'immagine
pcFoto.Picture = LoadPicture(strPerc)
' Riassegna l'altezza e la larghezza alla PictureBox
pcFoto.Width = cstLngLargPCBox
pcFoto.Height = cstLngAltPCBox
' Chiama la sub che dimensiona l'immagine
' in modo che entri all'interno della PictureBox
' pcFoto è l'oggetto PictureBox,
' lngLarg è la larhgezza del controllo e
' lngAlt la sua altezza
' l'immagine non può superare le dimensioni
' dell'oggetto PictureBox che la contiene
' clsFile è il modulo di classe che gestisce l'immagine
Call clsFile.DimensionaImmagine(pcFoto, _
cstLngLargPCBox, cstLngAltPCBox)
End Sub
'**********************************
' NEL MODULO DI CLASSE
' Ridimensiona l'immagine in base alle dimensioni dell'oggetto
' PictureBox presente nel form form
Public Sub DimensionaImmagine(ByVal pcFotografia As PictureBox, _
ByVal lngLargMax As Long, _
ByVal lngAltMax As Long)
Dim lngLargImg As Long, lngAltImg As Long,
Dim lngLarg As Long, lngAlt As Long
' Prende le dimensioni dell'immagine contenuta
' nel controllo PictureBox
lngLargImg = pcFotografia.Picture.Width
lngAltImg = pcFotografia.Picture.Height
' Rapporta le dimesioni dell'immagine
' con quelle dell'oggetto PictureBox contenitore
If lngLargImg < lngLargMax And lngAltImg < lngAltMax Then
pcFotografia.AutoSize = False
Else
lngAlt = lngAltImg / (lngLargImg / lngLargMax)
If lngAlt <= lngAltMax Then
pcFotografia.Height = lngAltMax
pcFotografia.Width = lngLargMax
Else
pcFotografia.Height = lngAltMax
pcFotografia.Width = lngLargImg / (lngAltImg / lngAltMax)
End If
End If
End Sub
grazie a tutti