Progettazione di form indipendenti dalla risoluzione
Per impostazione predefinita, le dimensioni di form e controlli di Microsoft Visual Basic non vengono modificate in base alla diversa risoluzione dello schermo. Ciò significa che un form creato con una risoluzione di 1024 per 768, se eseguito a una risoluzione di 640 per 480 può uscire dai bordi dello schermo. Per creare form e controlli in modo che mantengano le stesse proporzioni indipendentemente dalla risoluzione dello schermo, è necessario progettare i form con la risoluzione più bassa possibile o aggiungere codice che consenta di modificare i form.
Il metodo più semplice consiste nel creare i form con una risoluzione di 640 per 480. Se si preferisce lavorare con una risoluzione maggiore, è importante tenere in considerazione il risultato ottenuto quando viene utilizzata una risoluzione inferiore. A tale scopo è possibile utilizzare la finestra Disposizione form per visualizzare un'anteprima della posizione e delle dimensioni del form e attivare quindi le guide per la risoluzione per verificare quale sarà l'area dello schermo visibile a una risoluzione inferiore. Per attivare o disattivare le guide per la risoluzione, fare clic con il pulsante destro del mouse sulla finestra Disposizione form e scegliere Guide risoluzione dal menu di scelta rapida.
In Visual Basic la posizione del form in fase di esecuzione dipende dalla posizione in cui è stato creato in fase di progettazione. Un form posizionato nell'angolo in basso a destra dello schermo in fase di progettazione utilizzando una risoluzione di 1024 per 768 potrebbe non essere visibile con una risoluzione inferiore. Per evitare questo problema, è possibile definire in fase di progettazione la posizione di avvio del form tramite il comando Posizione avvio del menu di scelta rapida della finestra Disposizione form. In alternativa, è possibile impostare in fase di esecuzione la posizione del form nel codice della routine di eventi Form_Load:
Private Sub Form_Load()
Me.Move 0, 0
End Sub
L'utilizzo del metodo Move equivale all'impostazione delle proprietà Left e Top del form su 0, con la differenza che è sufficiente eseguire un solo passaggio.
In Visual Basic, per il calcolo di dimensioni e posizione viene utilizzata l'unità di misura twip indipendente dalla periferica. Per impostare le dimensioni della visualizzazione in fase di esecuzione, è possibile utilizzare le proprietà TwipsPerPixelX e TwipsPerPixelY dell'oggetto Screen che consentono di regolare le dimensioni e la posizione di form e controlli nel codice:
Private Sub SetControls()
Dim X As Integer
Dim Y As Integer
X = Screen.TwipsPerPixelX
Y = Screen.TwipsPerPixelY
Select Case X, Y
Case 15, 15
' Ridimensiona e sposta i controlli.
txtName.Height = 200
txtName.Width = 500
txtName.Move 200, 200
' Aggiungere codice per altre risoluzioni.
…
End Sub
È inoltre necessario sapere qual è la posizione delle finestre di Visual Basic in fase di progettazione. La finestra Gestione progetti, se posizionata sulla parte destra dello schermo utilizzando una risoluzione alta, potrebbe non essere più accessibile quando si apre il progetto con una risoluzione inferiore.