Layout-Ereignis, LayoutEffect-Eigenschaft, Move-Methode (Beispiel)
Im folgenden Beispiel wird ein ausgewähltes Steuerelement in einem Formular mit der Move-Methode verschoben und das Layout-Ereignis und die LayoutEffect-Eigenschaft verwendet, um das Steuerelement zu identifizieren, das verschoben wurde (und das Layout des UserForm geändert hat).
Der Benutzer klickt auf ein Zu verschiebende Steuerelement und klickt dann auf das CommandButton-Steuerelement. In einem Meldungsfeld wird der Name des steuerelements angezeigt, das verschoben wird.
Wenn Sie dieses Beispiel verwenden möchten, kopieren Sie diesen Beispielcode in den Deklarationsteil eines Formulars. Stellen Sie sicher, dass das Formular folgende Komponenten enthält:
- Ein Textfeld-Steuerelement ( TextBox ) mit der Bezeichnung "TextBox1".
- Ein Kombinationsfeld -Steuerelement (ComboBox) mit der Bezeichnung "ComboBox1".
- Ein OptionButton mit dem Namen OptionButton1.
- Eine Befehlsschaltfläche ( CommandButton ) mit der Bezeichnung "CommandButton1".
- Ein Umschaltfeld-Steuerelement ( ToggleButton ) mit der Bezeichnung "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
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.