Newsgroup: it.comp.appl.access
Titolo: Dissolvenza o restringimento controllo fino a scomparire

A2000 / 2002 XP
Ciao e grazie in anticipo.
       In apertura di maschera vorrei cheare un'effetto a dissolvenza o 
restringimento di un controllo fino a scomparire per poi peter lavorare 
regolarmente sulla maschera.
Bruno 

 wrote in message
news:RI1be.821910$
b5.36...@news3.tin.it

Quale sarebbe il controllo...?
Supponi un controllo Immagine.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Form_Load()
Dim rate as Integer
rate=cInt(Me!ControlloImmagine.Width /X=Me!ControlloImmagine.Height)
For X=Me!ControlloImmagine.Width to 10 Step -10
    Me!ControlloImmagine.Width =Me!ControlloImmagine.Width -x
    Me!ControlloImmagine.Height=Me!ControlloImmagine.Width * rate
    Sleep 500
NExt
Me!ControlloImmagine.visible=False
End Sub
Questo calcola il rapporto X/Y delle dimensioni del controllo
quindi esegue un ciclo al quale applica al 2° lato il rapporto
originale in modo da mantenere la proprorzione.
Verifica se l'immagine ha Base>Altezza altrimenti devi invertire
Una roba del genere..?
Boh non ho capito cosa serve.
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
news:1b9fa47408d016aa11...@mygate.mailgate.org
Ho detto una cavolata sul Type di rate
Dim rate as Single 


 @Alex
Ovviamente devi modificare il calcolo:
rate=csng(Me!ControlloImmagine.Width /X=Me!ControlloImmagine.Height)
Oggi è festa e mi perdo i pezzi....!


 ha scritto nel messaggio 
news:RI1be.821910$b5.36...@news3.tin.it...

Un esempio oltre a quello fornito da Alex:
Su timer della maschera con intervallo timer impostato a 100:
Private Sub Form_Timer()
Dim largo As Long, Alto As Long, i As Long, ii As Byte
    largo = Me.MioControllo.Width
    Alto = Me.MioControllo.Height
    On Error GoTo errore
    For i = 1 To largo Step 5
    Me.MioControllo.Width = Me.MioControllo.Width - i
      For ii = 1 To 1
      DoEvents
      Next ii
    Next i
    For i = 1 To Alto Step 5
    Me.MioControllo.Height = Me.MioControllo.Height - 1
    For ii = 1 To 1
      DoEvents
      Next ii
    Next i
    For i = 1 To Alto Step 2
    Me.MioControllo.Height = i
    For ii = 1 To 1
      DoEvents
      Next ii
    Next i
    For i = 1 To largo Step 2
    Me.MioControllo.Width = i
    For ii = 1 To 1
      DoEvents
      Next ii
    Next i
    Me.TimerInterval = 0
errore:
If Err.Number = 2100 Then
Resume Next
End If
End Sub
Prova a modificare i parmetri per un effetto personalizzato.
Ciao, Carlo 

 ha scritto nel messaggio 
news:fbef2419271eaf3de6...@mygate.mailgate.org...

---------------------------------------
Mitico Alessandro, ti ringrazio.
Ci provo subito.
Ancora Mille Grazie
        Bruno 

[CUT]
Ciao Carlo,
    Il tuo codice funziona, ma continua all'infinito.
Ciao
        Bruno 

[CUT]
Ciao Alessandro,
    Il tuo codice mi da errore nella stringa " Me!ControlloImmagine.Width 
=Me!ControlloImmagine.Width -x" e non riesco a capire perchč.
Ciao
    Bruno 

 wrote in message
news:5ZRbe.832372$
b5.36...@news3.tin.it

Forse l'errore stava quě:
rate=csng(Me!ControlloImmagine.Width /X=Me!ControlloImmagine.Height)
Cambiala cosě era un errore di Copia Incolla:
rate=csng(Me!ControlloImmagine.Width /Me!ControlloImmagine.Height)
Ciao


 ha scritto nel messaggio 
news:0f37cf6fd50ee3c90e...@mygate.mailgate.org...

-----------------------------------------------
Alessandro, ancora negativo per il funzionamento della seguente routine:
---------------------
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
   Dim rate As Single
    rate = CSng(Me!ControlloImmagine.Width / Me!ControlloImmagine.Height)
'....................... C'č qualcosa che non va in questa parte. Mi da 
anche l'errore 2100. Ho provato anche con la gestione errori, ma si blocca 
tutto comunque.
For rate = Me!ControlloImmagine.Width To 10 Step -10
    Me!ControlloImmagine.Width = Me!ControlloImmagine.Width - rate
    Me!ControlloImmagine.Height = Me!ControlloImmagine.Width * rate
    Sleep 500
Next
Me!ControlloImmagine.Visible = False
End Sub
------------------------------------
Ciao
         bruno

 ha scritto nel messaggio 
news:NWRbe.832355$b5.36...@news3.tin.it...

Continua perchè non si imposta a 0 l'intervallo timer.
Aggiungi Me.TimerInterval = 0
prima di End Sub
Ciao, Carlo 

 wrote in message
news:m%Tbe.832962$
b5.36...@news3.tin.it
Io ho fatto della confusione ma tu non sei da meno...!!
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
   Dim x as Long
   Dim rate As Single
    rate = CSng(Me!ControlloImmagine.Width /
Me!ControlloImmagine.Height)
'....................... C'è qualcosa che non va in questa parte. Mi da
anche l'errore 2100. Ho provato anche con la gestione errori, ma si
blocca
tutto comunque.
For X = Me!ControlloImmagine.Width To 10 Step -10
    Me!ControlloImmagine.Width = Me!ControlloImmagine.Width - X
    Me!ControlloImmagine.Height = Me!ControlloImmagine.Width * rate
    Sleep 200
Next
Me!ControlloImmagine.Visible = False
End Sub
Ciao


 ha scritto nel messaggio 
news:cebaa427d2a3d31516...@mygate.mailgate.org...

________________________
Alex, mi da ancora errore e non riesco a capire perchè. Ho provato anche con 
la gestione errore di run-time 2100 "controllo di sottomaschera troppo 
grande per questa posizione", senza risolvere nulla.
Talvolta mi ha dato errore anche per "Sleep". E' possibile che non trovi la 
libreria ?
Hai qualche altra idea?
Mille grazie e scusa se tifaccio perdere tempo.
Bruno
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
    Dim x as Long
   Dim rate As Single
    rate = CSng(Me!MioControllo.Width / Me!MioControllo.Height)
    For x = Me!MioControllo.Width To 10 Step -10
   errore in questa riga 
=================================================================> 
Me!MioControllo.Width = Me!MioControllo.Width - x
        Me!MioControllo.Height = Me!MioControllo.Width * rate
   errore in questa riga 
=================================================================> Sleep 200
    Next
    Me!MioControllo.Visible = False
End Sub

 
No non preoccuparti, solo che cosě non riesco ad aiutarti meglio.
Prova ad inviarmi un file ZIP con la Form e dň un'occhiata.
