■ CommandButtonコントロールについて詳しく知ろう
前回に引き続き、ExcelエクセルにおけるUserFormユーザーフォームの解説です。
今回は、CommandButtonコントロールオブジェクトの解説です。
CommandButtonコントロール(コマンドボタンコントロール)オブジェクト
CommandButtonコントロールが行う処理は、Click イベントに割り当てられたマクロまたはイベントプロシージャの内容により決定されます。
既定のプロパティ:Valueプロパティ
既定のイベント:Clickイベント
■ CommandButtonコントロールオブジェクトのプロパティ
・Accelerator:アクセスキー(任意の1文字)を設定します。設定したアクセスキーをAltキーと一緒に押すと、コントロールにフォーカスが移り、CommandButtonコントロールの状態を変更します。
(例)
CommandButton1.Accelerator = "a"
この例では、Alt+a押下でCommandButton1コントロールにフォーカスし、Clickイベントを発生させます。 |
・AutoSize:TrueでCaptionしている文字の大きさに合わせて、コントロールの大きさを自動調整します。False(既定値)でコントロールの大きさを固定します(自動調節しません)。
・BackColor:コントロールの背景色を設定します。背景色はRGB関数、整数、定数で指定することが可能です。コントロールの背景スタイルがFmBackStyleOpaqueになっている必要があります。
・BackStyle:コントロールの背景スタイルを設定します。0 - fmBackStyleTransparentで背景を透明に、1 - FmBackStyleOpaqueで背景を不透明にします。既定値は1です。
(例)
CommandButton1.BackStyle = fmBackStyleTransparent
この例では、CommandButton1コントロールの背景を透明にしています。 |
・Cancel:CommandButtonコントロールをフォームのキャンセルボタンにするかどうかを設定します。値の取得も可能です。
Trueで指定したCommandButtonコントロールをキャンセルボタンにします。False(既定値)でしません 。キャンセルボタンとして設定できるCommandButtonコントロールは、1つのフォームに1つだけです。キャンセルボタンは、Escキーで選択することができますが、処理の内容はコントロールのClickイベントプロシージャに記述する必要があります。
・Caption:コントロールに表示する文字列を設定します。
(例)
CommandButton1.Caption = "test"
この例では、CommandButton1コントロールに"test"の文字列を表示します。 |
・ControlTipText:マウスポインタをコントロール上に置いたとき、表示する文字列を設定します。
・Enabled:CommandButtonコントロールの場合、Trueで通常の表示と操作ができます、Falseで淡色表示となり、イベントに応答しなくなります。
・Font:コントロールで表示するテキスト属性を設定します。
・ForeColor:コントロールの前景色を指定します。CommandButtonコントロールの場合、表示されるCaptionの文字色を設定します。
・Height、Width:コントロールの高さ、幅をポイント単位で指定します。
・Left、Top:コントロールの位置をフォーム左端、上端からの距離を基準に設定します。
・Locked:コントロールを編集可能にするかどうかを設定します。Trueで編集不可、False(既定値)編集可になります。編集不可になっていてもEnabledプロパティがTrueに設定されていればイベントが発生しフォーカスを取得することが可能です。
・MousePointer、MouseIcon:コントロールの上にカーソルを置いたときに表示する形状を設定します。MouseIconはMousePointerが99-fmMousePointerCustomのときに、表示する画像をLoadPicture関数で読み込みます。
(例)
CommandButton1.MousePointer = fmMousePointerHourGlass
この例では、コントロールにカーソルを合わせるとカーソル形状が砂時計に変更されます。 |
CommandButton1.MousePointer = fmMousePointerCustom
CommandButton1.MouseIcon = LoadPicture("C:\test.ico")
この例では、コントロールにカーソルを合わせるとC:\にあるtest.icoにカーソル形状が変更されます。 |
・Name:コントロールの名前を設定、取得します。
・Parent:指定したコントロールを含む親オブジェクトを操作します。
(例)
CommandButton1.Parent.BackColor = vbRed
この例では、CommandButton1コントロールが配置されている親オブジェクト(UserFormやFrameなど)の背景色を赤に変更します。 |
・Picture:オブジェクトの上に表示するビットマップ画像を設定します。画像の読み込みにはLoadPicture関数を使う必要があります。
・PicturePosition:ピクチャとキャプションの位置を設定します。
(例)
CommandButton1.Picture = LoadPicture("C:\001.bmp")
この例では、CommandButton1コントロール上にC:\にある001.bmpが読み込まれます。 |
・TabIndex:タブオーダー内の順番を設定します。先頭のインデックスは0 です。
・TabStop:FalseにするとTab キーによるフォーカス移動の際、このオブジェクトをスキップします。
・TakeFocusOnClick:コントロールがクリックされたときに、フォーカスを取得できるかどうかを設定します。Trueはクリックされたらフォーカスを取得します (既定値)、Falseはクリックされてもフォーカスを取得しません。
TakeFocusOnClickプロパティの設定値は、コントロールをクリックした場合にのみ適用されます。Tab キーを使ってフォーカスが移動された場合は、プロパティに関係なくフォーカスを取得します。
・Value:常に偽 (False) です。
・Tag:コントロールに補足的な情報(文字列)を設定、取得できます。
・Visible:オブジェクトの表示・非表示を設定します。Trueで表示、Falseで非表示です。
■ CommandButtonコントロールオブジェクトのメソッド
・Move:コントロールを移動します。
(例)
CommandButton1.Move 100, 50, 200, 150
この例では、CommandButton1コントロールをUserFormの左端から100、上端から50ポイントの位置に移動させ、幅200、高さ150ポイントで表示します。 |
・SetFocus:コントロールにフォーカスを移します。
・ZOrder:指定されたオブジェクトのZオーダーを変更します。fmTopでその他のコントロールの最前面に、fmBottomでその他のコントロールの最背面に表示します。
■ CommandButtonコントロールオブジェクトのイベント
・Click:コントロールをマウスでクリックしたとき発生します。
・DblClick:コントロールをダブルクリックしたとき発生します。
(例)
CommandButton1.ForeColor = vbBlue
この例では、CommandButton1コントロールをクリックしたとき、Captionの文字色を青色に変更します。 |
・MouseDown、MouseUp:MouseDownはマウスボタンを押したとき、MouseUpはマウスボタンを離したときに発生します。
(例)
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, _
ByVal Shift As Integer, _
ByVal X As Single, _
ByVal Y As Single)
UserForm1.Caption = "MouseDown"
End Sub
Private Sub CommandButton1_MouseUp(ByVal Button As Integer, _
ByVal Shift As Integer, _
ByVal X As Single, _
ByVal Y As Single)
UserForm1.Caption = "MouseUp"
End Sub
この例では、CommandButton1コントロールをクリックしている間はUserForm1のCaptionに"MouseDown"の表示がされ、クリックを離すと"MouseUp"の表示に変わります。 |
・MouseMove:コントロールの上にカーソルが移動したとき発生します。
・Enter、Exit:Enterイベントは、同一フォーム上にある別のコントロールからフォーカスを受け取る前に発生します。Exit イベントは、同一フォーム上にある別のコントロールにフォーカスを移す前に発生します。
以上で、CommandButtonコントロールオブジェクトの解説を終わります。
次回は、ScrollBarコントロールオブジェクトの解説を行います。
|