Événement Layout, propriété LayoutEffect, méthode Move – Exemple
L’exemple suivant déplace un contrôle sélectionné sur un formulaire à l’aide de la méthode Move et utilise l’événement Layout et la propriété LayoutEffect pour identifier le contrôle qui a été déplacé (et a modifié la disposition de UserForm).
L’utilisateur clique sur un contrôle à déplacer, puis sur le bouton CommandButton. Une boîte de message affiche le nom du contrôle qui est déplacé.
Pour utiliser cet exemple, copiez le code de l’exemple dans la partie Déclarations d’un formulaire. Vérifiez que le formulaire contient :
- TextBox nommé TextBox1.
- ComboBox nommé ComboBox1.
- OptionButton nommé OptionButton1.
- un contrôle CommandButton nommé CommandButton1 ;
- ToggleButton nommé ToggleButton1.
Private Sub UserForm_Initialize()
CommandButton1.Caption = "Move current control"
CommandButton1.AutoSize = True
CommandButton1.TakeFocusOnClick = False
ToggleButton1.Caption = "Use Layout Event"
ToggleButton1.Value = True
End Sub
Private Sub CommandButton1_Click()
If ActiveControl.Name = "ToggleButton1" Then
'Keep it stationary
Else
'Move the control, using Layout event when
'ToggleButton1.Value is True
ActiveControl.Move 0, 0, , , _
ToggleButton1.Value
End If
End Sub
Private Sub UserForm_Layout()
Dim MyControl As Control
MsgBox "In the Layout Event"
'Find the control that is moving.
For Each MyControl In Controls
If MyControl.LayoutEffect = _
fmLayoutEffectInitiate Then
MsgBox MyControl.Name & " is moving."
Exit For
End If
Next
End Sub
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
ToggleButton1.Caption = "Use Layout Event"
Else
ToggleButton1.Caption = "No Layout Event"
End If
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.