22/10/11 8:15
visualrenzo
Buongiorno a tutti, ho un problemico col resize di una listbox.
Ho un form che si chiama super, sto provando a fare ridimensionare gli oggetti in automatico se si modificano le dimenzioni del form.
Le label e la textbox funzionano regolarmente mentre la list invece si rimpicciolisce ma poi non si riallarga quando allargo di nuovo il form.
Come mai? ho usato lo stesso procedimento che per le label e le text.
Di seguito il codice
Dim qqh, qqw, ht, ll As Integer
Dim ml_DimHeight As Long
Dim ml_DimWidth As Long
Public Sub RegolaSchermo()
Super.Height = Screen.Height '* 0.9
Super.Width = Screen.Width '* 0.9
ml_DimHeight = Screen.Height '* 0.9
ml_DimWidth = Screen.Width '* 0.9
LabelNumeriDaCercare.Width = LabelNumeriDaCercare.Width ' così leggo la posizione attuale data da me sul form
LabelNumeriDaCercare.Height = LabelNumeriDaCercare.Height
LabelRicercaSingola.Width = LabelRicercaSingola.Width
LabelRicercaSingola.Height = LabelRicercaSingola.Height
TextTutto.Width = TextTutto.Width
TextTutto.Height = TextTutto.Height
LabelRisultato.Width = LabelRisultato.Width
LabelRisultato.Height = LabelRisultato.Height
List1.Width = List1.Width
List1.Height = List1.Height
End Sub
Private Sub Form_Resize() ' ogni volta che faccio il resize
' aggiugere tutti gli elementi del form
If ml_DimHeight > 0 Then ' aggiugere tutti gli elementi del form
LabelNumeriDaCercare.Height = LabelNumeriDaCercare.Height * (Super.Height / ml_DimHeight)
LabelRicercaSingola.Height = LabelRicercaSingola.Height * (Super.Height / ml_DimHeight)
List1.Height = List1.Height * (Super.Height / ml_DimHeight)
LabelRisultato.Height = LabelRisultato.Height * (Super.Height / ml_DimHeight)
End If
' aggiugere tutti gli elementi del form
If ml_DimWidth > 0 Then ' aggiugere tutti gli elementi del form
LabelNumeriDaCercare.Width = LabelNumeriDaCercare.Width * (Super.Width / ml_DimWidth)
LabelRicercaSingola.Width = LabelRicercaSingola.Width * (Super.Width / ml_DimWidth)
List1.Width = List1.Width * (Super.Width / ml_DimWidth)
LabelRisultato.Width = LabelRisultato.Width * (Super.Width / ml_DimWidth)
End If
' aggiugere tutti gli elementi del form
LabelNumeriDaCercare.Left = LabelNumeriDaCercare.Left
LabelNumeriDaCercare.Top = LabelNumeriDaCercare.Top
LabelRicercaSingola.Left = LabelRicercaSingola.Left '+ 1
LabelRicercaSingola.Top = LabelRicercaSingola.Top ' + 1
TextTutto.Left = TextTutto.Left
TextTutto.Top = TextTutto.Top
LabelRisultato.Left = LabelRisultato.Left
LabelRisultato.Top = LabelRisultato.Top
List1.Left = List1.Left
List1.Top = List1.Top
ml_DimHeight = Super.Height
ml_DimWidth = Super.Width
'Label1.Caption = List1.Width
Label8.Caption = List1.Height
End Sub
Ho un form che si chiama super, sto provando a fare ridimensionare gli oggetti in automatico se si modificano le dimenzioni del form.
Le label e la textbox funzionano regolarmente mentre la list invece si rimpicciolisce ma poi non si riallarga quando allargo di nuovo il form.
Come mai? ho usato lo stesso procedimento che per le label e le text.
Di seguito il codice
Dim qqh, qqw, ht, ll As Integer
Dim ml_DimHeight As Long
Dim ml_DimWidth As Long
Public Sub RegolaSchermo()
Super.Height = Screen.Height '* 0.9
Super.Width = Screen.Width '* 0.9
ml_DimHeight = Screen.Height '* 0.9
ml_DimWidth = Screen.Width '* 0.9
LabelNumeriDaCercare.Width = LabelNumeriDaCercare.Width ' così leggo la posizione attuale data da me sul form
LabelNumeriDaCercare.Height = LabelNumeriDaCercare.Height
LabelRicercaSingola.Width = LabelRicercaSingola.Width
LabelRicercaSingola.Height = LabelRicercaSingola.Height
TextTutto.Width = TextTutto.Width
TextTutto.Height = TextTutto.Height
LabelRisultato.Width = LabelRisultato.Width
LabelRisultato.Height = LabelRisultato.Height
List1.Width = List1.Width
List1.Height = List1.Height
End Sub
Private Sub Form_Resize() ' ogni volta che faccio il resize
' aggiugere tutti gli elementi del form
If ml_DimHeight > 0 Then ' aggiugere tutti gli elementi del form
LabelNumeriDaCercare.Height = LabelNumeriDaCercare.Height * (Super.Height / ml_DimHeight)
LabelRicercaSingola.Height = LabelRicercaSingola.Height * (Super.Height / ml_DimHeight)
List1.Height = List1.Height * (Super.Height / ml_DimHeight)
LabelRisultato.Height = LabelRisultato.Height * (Super.Height / ml_DimHeight)
End If
' aggiugere tutti gli elementi del form
If ml_DimWidth > 0 Then ' aggiugere tutti gli elementi del form
LabelNumeriDaCercare.Width = LabelNumeriDaCercare.Width * (Super.Width / ml_DimWidth)
LabelRicercaSingola.Width = LabelRicercaSingola.Width * (Super.Width / ml_DimWidth)
List1.Width = List1.Width * (Super.Width / ml_DimWidth)
LabelRisultato.Width = LabelRisultato.Width * (Super.Width / ml_DimWidth)
End If
' aggiugere tutti gli elementi del form
LabelNumeriDaCercare.Left = LabelNumeriDaCercare.Left
LabelNumeriDaCercare.Top = LabelNumeriDaCercare.Top
LabelRicercaSingola.Left = LabelRicercaSingola.Left '+ 1
LabelRicercaSingola.Top = LabelRicercaSingola.Top ' + 1
TextTutto.Left = TextTutto.Left
TextTutto.Top = TextTutto.Top
LabelRisultato.Left = LabelRisultato.Left
LabelRisultato.Top = LabelRisultato.Top
List1.Left = List1.Left
List1.Top = List1.Top
ml_DimHeight = Super.Height
ml_DimWidth = Super.Width
'Label1.Caption = List1.Width
Label8.Caption = List1.Height
End Sub
Ultima modifica effettuata da visualrenzo 22/10/11 8:36
aaa