in realtà no, non si può fare... per lo meno impostando la proprietà picture...
ma articolando un po' le cose si può fare.
questo è il codice per riuscirci:
nella sezione dichiarazioni:
codice:
Dim vPBox As PictureBox
Dim iPic As stdPicture
Nel codice dell'MDI
codice:
Private Sub MDIForm_Load()
Set vPBox = Controls.Add("VB.PictureBox", "vPBox")
Set iPic = LoadPicture("C:\img.jpg")
With vPBox
.BackColor = MDIForm1.BackColor
.BorderStyle = 0
.AutoRedraw = True
End With
End Sub
Private Sub MDIForm_Resize()
Dim PicW As Integer
Dim PicH As Integer
With vPBox
.Width = MDIForm1.ScaleWidth
.Height = MDIForm1.ScaleHeight
.Cls
PicW = .ScaleX(iPic.Width, vbHimetric, vbTwips)
PicH = .ScaleY(iPic.Height, vbHimetric, vbTwips)
.PaintPicture iPic, (.Width - PicW) / 2, (.Height - PicH) / 2, PicW, PicH
Set MDIForm1.Picture = .Image
End With
End Sub
in questo modo, qualsiasi sia la dimensione dell'MDI o qualsiasi sia lo spazio occupato, la picture verrà centrata nello spazio disponibile.
unico inconveniente, la picture va caricata a Run-Time, come hai visto nel codice:
codice:
Set iPic = LoadPicture("C:\img.jpg")
Boolean