Ejemplo de evento Layout y propiedades OldLeft, OldTop, OldHeight y OldWidth
En el ejemplo siguiente se usan las propiedades OldLeft y OldTop y las propiedades OldHeight y OldWidth dentro del evento Layout para mantener un control en su posición y tamaño actuales.
El usuario hace clic en el control CommandButton con la etiqueta Move ComboBox (Mover cuadro combinado ) para mover el control y, a continuación, responde a un cuadro de mensaje. El usuario puede hacer clic en el CommandButton etiquetado Reset ComboBox para restablecer el control para otra repetición.
Para usar este ejemplo, copie este código de muestra en la sección Declaraciones de un formulario. Asegúrese de que el formulario contiene:
- Dos controles de CommandButton llamados CommandButton1 y CommandButton2.
- Un control ComboBox denominado 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
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.