Newsgroup: it.comp.lang.visual-basic
Titolo: Resize di un form

Salve a tutti.
Ho questo intoppo. Uso VB5
Ho un form che contiene 3 frame, uno dei quali contiene un RichTextBox.
Devo controllare il RESIZE del form.
Ho scritto delle righe di codice molto semplici che si rifanno man mano alle
dimensioni che il form assume.
Se lo ingrandisco non c'e' alcun problema ma se lo riduco ad un certo punto
(il form e' praticamente inservibile cosi piccolo) mi viene restituito un
errore nel calcolo delle altezza e delle larghezze degli oggetti.
La domanda:
C'e' la possibilita' di consentire il rimpicciolimento fino ad un certo
punto al di sotto del quale il form diventa non piu' rimpicciolibile?
Grazie a tutti
*frankyz

 punto al di sotto del quale il form diventa non piu' rimpicciolibile?
Si'. Stando attento a non cadere in un loop infinito, se le misure di
altezza e larghezza scendono al di sotto dei limiti che stabilisci allora le
ripristini ai detti limiti.
Ciao
Aldo


soluzione poco elegante (dovuta allo sfarfallio ecc...) ma di facile
realizzazione:
Private Sub Form_Resize()
    If Me.Width < 5000 Then _
        Me.Width = 5000
    If Me.Height < 3000 Then _
        Me.Height = 3000
    '[...codice per ridimensionare i controlli...]
End Sub
occhio che le dimensioni sono in Twips
Ciao
Faber


soluzione poco elegante (dovuta allo sfarfallio ecc...) ma di facile




Devi subclassare la form ed intercettare il messaggio WM_GETMINMAXINFO.
Se non erro sul Sito Comune c'č un esempio: se non c'č, fammelo sapere che metto insieme il codice
che ho (scritto da non so chi) e lo invio al SC.
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

 Devi subclassare la form ed intercettare il messaggio WM_GETMINMAXINFO.
MMMMMHHHH...... troppo complicato per me!!
Grazie lo stesso.
Ciao
*frankyz

 End Sub
per farla rimanere ancora un po' artigianale (cioč non usare l'api giusta,
ma renderla facile) ma evitare quello sgradevole sfarfallio puoi usare anche
l'api SetCursorPos in modo da tenere fermo il mouse quando ridimensiona
oltre
--
ciao
xAERO

 wrote in message
8tpneg$e4d$1...@nslave3.tin.it...

Prova a fare cosě:
Private Sub Form_Resize()
    Static NoFormResize As Boolean
    If NoFormResize Then Exit Sub    'evito inutili stack
    If Me.Width < LarghezzaMinima Then
        NoFormResize = True
        Me.Width = LarghezzaMinima  'genera evento resize
    End If
    If Me.Height < AltezzaMinima Then
        NoFormResize = True
        Me.Height = AltezzaMinima  'genera evento resize
    End If
    NoFormResize = False
    '*** codice per ridimensionare
    '*** i controlli della form
    ...
    ...
End Sub
ho aggiunto la variabile booleana "NoFormResize" per fare in modo che i
controlli all'interno della form vengano ridimensionati una sola volta per
ogni resize manuale della form.
Ciao,
        Silvio

MMMMMHHHH...... troppo complicato per me!!
 :-P
OK, vorrà dire che appena ho un po' di tempo lo metto apposto e lo invio al SC.... così si
semplifica di molto (basta che usi il copa/incolla...^__^)
