Événement Layout, propriétés OldLeft, OldTop, OldHeight, OldWidth – Exemple
L’exemple suivant utilise les propriétés OldLeft et OldTop et les propriétés OldHeight et OldWidth dans l’événement Layout pour conserver un contrôle à sa position et sa taille actuelles.
L’utilisateur clique sur le CommandButton intitulé Move ComboBox pour déplacer le contrôle, puis répond à une boîte de message. L’utilisateur peut cliquer sur le contrôle CommandButton intitulé Reset ComboBox pour redéfinir le contrôle pour une autre répétition.
Pour utiliser cet exemple, copiez le code de l’exemple dans la partie Déclarations d’un formulaire. Vérifiez que le formulaire contient :
- deux contrôles CommandButton nommés CommandButton1 et CommandButton2 ;
- ComboBox nommé ComboBox1.
Dim Initialize As Integer
Dim ComboLeft, ComboTop, ComboWidth, _
ComboHeight As Integer
Private Sub UserForm_Initialize()
Initialize = 0
CommandButton1.Caption = "Move ComboBox"
CommandButton2.Caption = "Reset ComboBox"
'Information for resetting ComboBox
ComboLeft = ComboBox1.Left
ComboTop = ComboBox1.Top
ComboWidth = ComboBox1.Width
ComboHeight = ComboBox1.Height
End Sub
Private Sub CommandButton1_Click()
ComboBox1.Move 0, 0, , , True
End Sub
Private Sub UserForm_Layout()
Dim MyControl As Control
Dim MsgBoxResult As Integer
'Suppress MsgBox on initial layout event.
If Initialize = 0 Then
Initialize = 1
Exit Sub
End If
MsgBoxResult = MsgBox("In Layout event " _
& "- Continue move?", vbYesNo)
If MsgBoxResult = vbNo Then
ComboBox1.Move ComboBox1.OldLeft, _
ComboBox1.OldTop, ComboBox1.OldWidth, _
ComboBox1.OldHeight
End If
End Sub
Private Sub CommandButton2_Click()
ComboBox1.Move ComboLeft, ComboTop, _
ComboWidth, ComboHeight
End Sub
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.