Layout イベント、LayoutEffect プロパティ、Move メソッドの例
次の使用例は、 Move メソッドを使用してフォーム上で選択したコントロールを移動し、 Layout イベントと LayoutEffect プロパティを使用して移動 (および UserForm のレイアウトを変更) するコントロールを識別します。
ユーザーが移動するコントロールをクリックし、 CommandButton をクリックします。 移動するコントロールの名前がメッセージ ボックスに表示されます。
この例を使用するには、このサンプル コードをフォームの宣言部分にコピーします。 フォームに次が含まれていることを確認してください。
- テキスト ボックス ( TextBox ) コントロール (TextBox1)
- コンボ ボックス ( ComboBox ) コントロール (ComboBox1)
- OptionButton1 という名前の OptionButton。
- CommandButton1 と命名された CommandButton
- トグル ボタン ( ToggleButton ) コントロール (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
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。