Newsgroup: it.comp.lang.visual-basic
Titolo: Center Image

Ciao a tutti e buon venerdì,
sto finendo un 'piccolo' eseguibile riguardante lo scorrimento di
slide, con varie opzioni, etc. Il mio problema è il seguente:
la form nella quale verrà riprodotta l'immagine è massimizzata, come
faccio a centrare l' immagine al centro della form?
Le immagine sono tutte di grandezza diversa. Per questo dopo averla
caricata penso debba prendere altezza e larghezza e fare 2 conti ma
non trovo l' algoritmo esatto.
Grazie.
Andrea.

 ha scritto nel messaggio
news:3ed71e85...@powernews.libero.it...

cosi velocemente dovrebbe essere
x di picture  = 1/2 di larghezza form - 1/2 di larghezza picture
y di picture  = 1/2 di altezza form -1/2 di altezza picture
l'ho pensata cosi al volo fai delle prove
ciao Ilario

ciao Ilario
Scusa se ti rispondo solo adesso, cmq ho fatto un pò di prove ma non
riesco a venirne a capo nel senso che va bene per alcune immagine e
altre no.
Codice:
------------------------------
Private Sub Form_Load()
    Image1.Top = (Form1.Width / 2) - (Image1.Width / 2)
    Image1.Left = (Form1.Height / 2) - (Image1.Left / 2)
End Sub
-----------------------------
Resto in attesa di altri suggerimenti.
Grazie ancora.
Andrea.

 ha scritto nel messaggio
news:3ed74a9c...@powernews.libero.it...


Hai invertito la X con la Y :
 Private Sub Form_Load()
     Image1.Left = (Form1.Width / 2) - (Image1.Width / 2)
     Image1.Top = (Form1.Height / 2) - (Image1.Left / 2)
 End Sub
Saluti

 ha scritto nel messaggio
news:3ed74a9c...@powernews.libero.it...

no (Image1.Left / 2)   ma (Image1.height/ 2)
ciao Ilario

ciao Ilario
Si ho sbagliato a scrivere ma io ho fatto giusto.
--------------
Private Sub Form_Load()
    Image1.Left = (Form1.Width / 2) - (Image1.Width / 2)
    Image1.Top = (Form1.Height / 2) - (Image1.Height / 2)
End Sub
-------------
L'ho girata rigirata contorta scambiata ma niente.
Non riesco a far star in centro della form una qualsiasi immagine!!!
Uff, possibile?
Grazie ancora ragazzi.
Andrea.

 ha


 Uff, possibile?
Scusa la banalità ,ma visto che il codice *è quello*, come stà la proprietà
autosize dell'immagine?
Ciao
Alessandro

 proprietà autosize dell'immagine?
Giusta osservazione.
Un eurocent che morfeus ha centrato il problema :-)
Piccolo rilancio: e se invece nell'evento load del form, questo codice lo si
sposta nell'evento resize dell'immagine? Lasciando l'autosize, of course.
Salutoni
Sergio

End Sub
Bingo!!!
La mia si tratta di una Image quindi:
-----------
Private Sub Form_Resize()
    On Error Resume Next ' form size < picture size
    If WindowState = 1 Then Exit Sub
    With Image1
        .Left = (ScaleWidth - .Width) \ 2
        .Top = (ScaleHeight - .Height) \ 2
    End With
End Sub
-----------
Perfetto. Molte grazie.
Andrea.

Alessandro
Ho provato per curiosità con una picture ma non era quello il
problema.

Sergio

 problema.
La colpa è mia che non ho prestato attenzione al fatto che la form era
massimizzata, ti avrei risposto che l'evento era sbagliato ma
l'avevano fatto anche altri ,ergo ....anche Form_Activate avrebbe
risolto,solo al generarsi dell'evento ,che viene dopo il Load, naturalmente
;)
Ciao
Alessandro
--
Morfeus®
Free Joint
:PII