Layout イベント、OldLeft プロパティ、OldTop プロパティ、OldHeight プロパティ、OldWidth プロパティの例
次の例では、Layout イベント内で OldLeft プロパティと OldTop プロパティと OldHeight プロパティと OldWidth プロパティを使用して、コントロールを現在の位置とサイズに維持します。
ユーザーは、[コンボ ボックスの移動] というラベルの付いた CommandButton をクリックしてコントロールを移動し、メッセージ ボックスに応答します。 そこで " Reset ComboBox " というラベルが付いた CommandButton をクリックすると、コントロールがリセットされて最初の状態に戻ります。
この例を使用するには、このサンプル コードをフォームの宣言部分にコピーします。 フォームに次が含まれていることを確認してください。
- CommandButton1 と CommandButton2 の 2 つの CommandButton コントロール。
- コンボ ボックス ( 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 のサポートおよびフィードバックを参照してください。