10 | 複数選択コントロールの位置を揃える | ||
フォーム上のコントロール(Controlオブジェクト)の「Top」プロパティでコントロールの”上位置”を、あるいは「Left」プロパティで”左位置”をプログラムから設定することで、デザイン上のコントロールの位置を設定することができます。 次のプログラムでは、まずフォームのControlsコレクションからControlオブジェクトをループで取り出し、デザインビュー上で選択されているコントロールの中のもっとも上位置や左位置の大きい(あるいは小さい)値を取得します(※注)。 再度同様のループですべての選択コントロールの上位置や左位置をその値に設定します。それによって複数コントロールの位置を揃えることができます。
プログラム
Sub SampleCode_10() '複数選択コントロールの位置を揃える ' ※もっとも右のコントロールに揃える Dim ctl As Control Dim intMaxRight As Integer 'まず選択コントロールの右(左位置+幅)の最大値を取得 For Each ctl In Screen.ActiveForm.Controls With ctl If .InSelection Then If (.Left + .Width) > intMaxRight Then intMaxRight = .Left + .Width End If End If End With Next ctl '選択コントロールの右を最大値に設定 For Each ctl In Screen.ActiveForm.Controls With ctl If ctl.InSelection Then .Left = intMaxRight - .Width End If End With Next ctl End Sub 実行例
■実行前■実行後(もっとも右のコントロールに揃えた場合) |
|||
|
Copyright © T'sWare All rights reserved |