Пример использования события Layout и свойств OldLeft, OldTop, OldHeight и OldWidth
В следующем примере свойства OldLeft и OldTop , а также Свойства OldHeight и OldWidth в событии Layout используются для сохранения текущего положения и размера элемента управления.
Пользователь щелкает элемент Управления CommandButton с меткой Move ComboBox , чтобы переместить элемент управления, а затем отвечает на окно сообщения. Чтобы восстановить состояние элемента управления для повторения действия, пользователь может нажать кнопку CommandButton с меткой Reset ComboBox.
Чтобы воспользоваться этим примером, скопируйте данный пример кода в раздел описаний формы. Убедитесь, что эта форма содержит:
- Два элемента управления CommandButton с именами CommandButton1 и CommandButton2.
- Объект ComboBox с именем 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
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.