Differenze tra le versioni di "Centrare un oggetto grafico all'interno di un Contenitore"
(Creata pagina con "Per centrare un Oggetto grafico all'interno del proprio Contenitore ''Padre'', si potrà provvedere mediante apposito calcolo. Mostriamo un esempio, nel quale una ''Label'' c...") |
|||
Riga 1: | Riga 1: | ||
− | + | Consideriamo qui tre tipi di porre al centro un ''Controllo'' rispetto al suo Contenitore ''Padre'': | |
+ | * centrare il Controllo orizzontalmente; | ||
+ | * centrare il Controllo verticalmente; | ||
+ | * centrare il Controllo sia orizzontalmente, sia verticalmente. | ||
+ | ==Centrare orizzontalmente il ''Controllo'' rispetto alle dimensioni del suo Contenitore== | ||
+ | Nel centrare "orizzontalmente" un Oggetto grafico all'interno del proprio Contenitore ''Padre'', non si terrà conto della sua posizione sull'asse della y del ''Contenitore'' medesimo. | ||
+ | <BR>Si provvederà mediante un calcolo tra la sua dimensione e quella del proprio Contenitore=== | ||
+ | Public Sub Form_Open() | ||
+ | |||
+ | Dim hButton As Button | ||
+ | |||
+ | With hButton = New Button(Me) As "Button1" | ||
+ | .W = 100 | ||
+ | .H = 50 | ||
+ | .X = (Me.W - .W) / 2 | ||
+ | .Y = 250 | ||
+ | End With | ||
+ | |||
+ | End | ||
+ | |||
+ | |||
+ | ==Centrare verticalmente il ''Controllo'' rispetto alle dimensioni del suo Contenitore== | ||
+ | Nel centrare "verticalmente" un Oggetto grafico all'interno del proprio Contenitore ''Padre'', non si terrà conto della sua posizione sull'asse della x del ''Contenitore'' medesimo. | ||
+ | Si provvederà anche in questo caso mediante un calcolo tra la sua dimensione e quella del proprio Contenitore. | ||
+ | Public Sub Form_Open() | ||
+ | |||
+ | Dim hButton As Button | ||
+ | |||
+ | With hButton = New Button(Me) As "Button1" | ||
+ | .W = 100 | ||
+ | .H = 50 | ||
+ | .X = 250 | ||
+ | .Y = (Me.H - .H) / 2 | ||
+ | End With | ||
+ | |||
+ | End | ||
+ | |||
+ | |||
+ | ==Centrare sia orizzontalmente sia verticalmente il ''Controllo'' rispetto alle dimensioni del suo Contenitore== | ||
+ | In sostanza in questo caso si porrà il ''Controllo'' esattamente al centro del proprio Contenitore. | ||
+ | |||
+ | ===Uso degli Oggetti ''HBox'' e ''Spring''=== | ||
+ | Si potrà fare uso degli Oggetti grafici ''HBox'' e ''Spring'': <SUP>[[[#Note|nota 1]]]</sup> | ||
+ | Public Sub Form_Open() | ||
+ | |||
+ | Dim hControl As HBox | ||
+ | Dim hSpring As Spring | ||
+ | Dim hButton As Button | ||
+ | |||
+ | With Me | ||
+ | .W = 500 | ||
+ | .H = 500 | ||
+ | .Arrangement = Arrange.Vertical | ||
+ | End With | ||
+ | With hControl = New HBox(Me) | ||
+ | .Expand = True | ||
+ | End With | ||
+ | With hControl = New HBox(Me) | ||
+ | .H = 28 | ||
+ | End With | ||
+ | hSpring = New Spring(hControl) | ||
+ | With hButton = New Button(hControl) As "Button1" | ||
+ | .AutoResize = True | ||
+ | .Text = "Click me !" | ||
+ | End With | ||
+ | hSpring = New Spring(hControl) | ||
+ | With hControl = New HBox(Me) | ||
+ | .Expand = True | ||
+ | End With | ||
+ | |||
+ | End | ||
+ | |||
+ | ===Mediante un calcolo tra la sua dimensione e quella del proprio Contenitore=== | ||
Mostriamo un esempio, nel quale una ''Label'' colorata viene posizionata al centro del ''Form'': | Mostriamo un esempio, nel quale una ''Label'' colorata viene posizionata al centro del ''Form'': | ||
− | + | Public Sub Form_Open() | |
With Label1 | With Label1 | ||
Riga 10: | Riga 82: | ||
End With | End With | ||
− | + | End | |
+ | |||
+ | |||
+ | |||
+ | =Note= | ||
+ | [1] Il codice è stato suggerito dal membro [https://www.gambas-it.org/smf/index.php?action=profile;u=1249 Gianluigi] del forum www.gambas-it.org. |
Versione delle 08:06, 23 giu 2023
Consideriamo qui tre tipi di porre al centro un Controllo rispetto al suo Contenitore Padre:
- centrare il Controllo orizzontalmente;
- centrare il Controllo verticalmente;
- centrare il Controllo sia orizzontalmente, sia verticalmente.
Indice
Centrare orizzontalmente il Controllo rispetto alle dimensioni del suo Contenitore
Nel centrare "orizzontalmente" un Oggetto grafico all'interno del proprio Contenitore Padre, non si terrà conto della sua posizione sull'asse della y del Contenitore medesimo.
Si provvederà mediante un calcolo tra la sua dimensione e quella del proprio Contenitore===
Public Sub Form_Open() Dim hButton As Button With hButton = New Button(Me) As "Button1" .W = 100 .H = 50 .X = (Me.W - .W) / 2 .Y = 250 End With End
Centrare verticalmente il Controllo rispetto alle dimensioni del suo Contenitore
Nel centrare "verticalmente" un Oggetto grafico all'interno del proprio Contenitore Padre, non si terrà conto della sua posizione sull'asse della x del Contenitore medesimo. Si provvederà anche in questo caso mediante un calcolo tra la sua dimensione e quella del proprio Contenitore.
Public Sub Form_Open() Dim hButton As Button With hButton = New Button(Me) As "Button1" .W = 100 .H = 50 .X = 250 .Y = (Me.H - .H) / 2 End With End
Centrare sia orizzontalmente sia verticalmente il Controllo rispetto alle dimensioni del suo Contenitore
In sostanza in questo caso si porrà il Controllo esattamente al centro del proprio Contenitore.
Uso degli Oggetti HBox e Spring
Si potrà fare uso degli Oggetti grafici HBox e Spring: [nota 1]
Public Sub Form_Open() Dim hControl As HBox Dim hSpring As Spring Dim hButton As Button With Me .W = 500 .H = 500 .Arrangement = Arrange.Vertical End With With hControl = New HBox(Me) .Expand = True End With With hControl = New HBox(Me) .H = 28 End With hSpring = New Spring(hControl) With hButton = New Button(hControl) As "Button1" .AutoResize = True .Text = "Click me !" End With hSpring = New Spring(hControl) With hControl = New HBox(Me) .Expand = True End With End
Mediante un calcolo tra la sua dimensione e quella del proprio Contenitore
Mostriamo un esempio, nel quale una Label colorata viene posizionata al centro del Form:
Public Sub Form_Open() With Label1 .X = (Me.W - .W) / 2 .Y = (Me.H - .H) / 2 .Background = Color.Yellow End With End
Note
[1] Il codice è stato suggerito dal membro Gianluigi del forum www.gambas-it.org.