View Full Version : [VB6] Ridimensionare le form in base alla risoluzione
OrcaAssassina
24-10-2006, 17:27
Sapetermi dirmi se c'è un codice già fatto da utilizzare affinche le dimensioni della form con tutti i vari oggetti venga ridimensionata in base alla risulozione del monitor????
Ciao e grazieeeeeeeeee
No, non c'è ...
Devi lavorare a mano e spostare dinamicamente i vari controlli dall' evento resize e paint del form.
In .net ci sono alcuni aiuti in più dal fronte grafico.
OrcaAssassina
24-10-2006, 18:20
No, non c'è ...
Devi lavorare a mano e spostare dinamicamente i vari controlli dall' evento resize e paint del form.
In .net ci sono alcuni aiuti in più dal fronte grafico.
Mi potresti spiegare in che senso "SPOSTARE SINAMICAMENTE" i vari controlli
Ciao e grazieeeeeeee
Nel senso, che negli eventi resize (ed eventualmente anche in paint, dipende da quello che devi fare) fai un codice che sposta e ridimensiona i vari controlli in modo automatico, cercando magari di usare le proprietà height e width del form o anche dell' oggetto screen ... in pratica fai in modo che il tuo codice sposti/ridimensioni in maniera automatica i controlli nel form ad ogni evento resize.
Puoi aiutarti magari con una matrice di controlli o una collection, così con un semplice ciclo for puoi scorrere i vari controlli, se sono disposti in maniera ordinata, così da creare un piccolo algoritmo che li sposti.
wingman87
25-10-2006, 17:34
Io in un mio progetto ho fatto così:
Private Sub Form_Resize()
'Risistemo gli oggetti del form
Dim X As Integer, Y As Integer
If Me.Height < 6000 Then
Exit Sub
End If
Web1.Width = Me.Width
Web1.Height = Me.Height - 1100
X = (Me.Width / 2) - 4700
Y = Me.Height - 1000
X = X - Label3.Left
Y = Y - Label3.Top
Label3.Left = Label3.Left + X
Label3.Top = Label3.Top + Y
Label1.Left = Label1.Left + X
Label1.Top = Label1.Top + Y
lblnr.Left = lblnr.Left + X
lblnr.Top = lblnr.Top + Y
'e avanti con tutti gli altri oggetti del form
End Sub
Web1 era un webbrowser e l'ho ridimensionato, gli altri oggetti erano tutti in basso al centro, 4700 è la metà dello spazio occupato da tutti gli oggetti orizzontalmente, ho impostato X e Y in base alla posizione dell'oggetto all'estrema sinistra e poi ho spostato tutti gli altri della stessa quantità.
Il controllo all'inizio è perchè se riduco a icona ottenevo dei valori negativi e mi dava errore, allora ho scelto una dimensione minima per il form.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.