Salve, come posso fare a ridimensionare tutti i controlli di una form in automatico?
In delphi uso la funzione ScaleBy, in Vb c'è qualcosa di analogo?
Salve, come posso fare a ridimensionare tutti i controlli di una form in automatico?
In delphi uso la funzione ScaleBy, in Vb c'è qualcosa di analogo?
li selezioni tutti e poi usando le frecce direzionali in combinazione con uno dei tasti crt shift alt(non riordo qule) li ridimensioni!
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
Forse ho formulato male la domanda, ci riprovo:
a me serve una funzione che mi modifica la dimensione di e controlli in run-time, in pratica mi serve che adegui le dimensioni dei controlli e caratteri alla risoluzione dello schermo corrente.
In delphi io uso la funzione ScaleBy passando come parametri la risoluzione attuale (1024) e la risoluzione di progettazione (800) e in automatico, in run-time, tutti i controlli vengono ridimensionati e riposizionati, e tutto funziona bene.
Spero che vb abbia una funzione del genere.
prova con ScaleHeight e ScaleWidth...
"Come vedi tutto è usuale, solo che il tempo chiude la borsa e c'è il sospetto che sia triviale l'affanno e l'ansimo dopo una corsa, l'ansia volgare del giorno dopo, la fine triste della partita, il lento scorrere senza uno scopo di questa cosa che chiami vita."
in particolare è il controllo ssTab che non si ridimensiona.
Prova a guardare in questa pagina. Trovi RoboSizeforVBOCX che potrebbe esserti utile.
... e non usare while wend è una sintassi deprecata
Se vuoi farlo senza activex ma con delle apposite routine, leggi la FAQ87.
Ciao
... e non usare while wend è una sintassi deprecata
io uso questa funzione che ho salvato in un modulo...però in vb6...
==================================
Sub DimensionaForm(CurrentForm As Form)
On Error Resume Next
Dim i As Integer
With CurrentForm
' Reimpostazione della posizione, dimensione e font, sulla base delle nuove dimensioni
' dello schermo
For i = 0 To .Controls.Count - 1
DoEvents
Err = 0
If TypeOf .Controls(i) Is PictureBox Then 'Or TypeOf .Controls(i) Is Adodc Then
Err = 0
.Controls(i).Left = (.Screen.Width - .Controls(i).Width - 200)
.Controls(i).Top = (.Screen.Height - .Controls(i).Height - 200)
Else
If TypeOf .Controls(i) Is ComboBox Or TypeOf .Controls(i) Is DriveListBox Then
.Controls(i).Left = ArrayOfProportions(i).LeftProportions * .ScaleWidth
.Controls(i).Top = ArrayOfProportions(i).TopProportions * .ScaleHeight
.Controls(i).Height = ArrayOfProportions(i).HeightProportions * .ScaleHeight
.Controls(i).Width = ArrayOfProportions(i).WitdthProportions * .ScaleWidth
Err = 0
If Not .Controls(i).FontSize Then
Err = 0
.Controls(i).FontSize = ArrayOfProportions(i).FontProportions * .ScaleWidth
End If
Else
.Controls(i).Move ArrayOfProportions(i).LeftProportions * .ScaleWidth, ArrayOfProportions(i).TopProportions * .ScaleHeight, ArrayOfProportions(i).WitdthProportions * .ScaleWidth, ArrayOfProportions(i).HeightProportions * .ScaleHeight
Err = 0
If Not .Controls(i).FontSize Then
Err = 0
.Controls(i).FontSize = ArrayOfProportions(i).FontProportions * .ScaleWidth
End If
End If
End If
Err = 0
Next i
End With
On Error GoTo 0
End Sub
======================================
Private Sub Form_Resize()
DimensionaForm Me
End Sub
io nn riesco ancora a capire sti scaleheight ecccc qualcuno mi aiuta ???