●GotFocus イベント
【機能】フォーカスが設定されたときに発生します。
【書式例】Private Sub MSHFlexGrid1_GotFocus()
【イベントの発生順→】
| |
| クリック | MouseDown | GotFocus | MouseUp | Click | | |
| ダブルクリック | MouseDown | GotFocus | MouseUp | Click | DblClick | MouseUp |
|
※ ほかのコントロールの有効/無効または表示/非表示を切り替えるという処理はここで記述します。
●KeyDown、KeyUp イベント
【機能】キーを押したとき/離したときに発生します。
【書式例】Private Sub MSHFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
【書式例】Private Sub MSHFlexGrid1_KeyUp(KeyCode As Integer, Shift As Integer)
| |
KeyCode : F1キーのときは vbKeyF1、Homeキーのときは vbKeyHome など、キーコードを示す定数。
Shift : Shift、Ctrl、Alt の押されたキーに対応するビットがオンになります。
| Shift | vbShiftMask | 1 |
| Ctrl | vbCtrlMask | 2 |
| Alt | vbAltMask | 4 |
|
【 例 】
If ((Shift And vbShiftMask) > 0) Then
Debug.Print "シフトキーが押されています。"
End If
【イベントの発生順→】
| |
| 文字キーを叩いた | KeyDown | KeyPress | KeyUp |
| 特殊キー/編集キーを叩いた | KeyDown | KeyUp | |
| 移動キーを叩いた | KeyDown | | |
|
| ※ | Tabキーはキーイベントが発生しません。 |
| ※ | KeyDown、KeyUpイベントでは、大文字と小文字('A'と'a')は同じキーコード(文字)として認識されます。 |
|
●KeyPress イベント
【機能】文字キーを押したときに発生します。
【書式例】Private Sub MSHFlexGrid1_KeyPress(KeyAscii As Integer)
【 例 】
If (KeyAscii = 13) Then Combo2.SetFocus '改行ならフォーカスを次へ移動
【イベントの発生順→】
| |
| 文字キーを叩いた | KeyDown | KeyPress | KeyUp |
|
| ※ | KeyPressイベントでは、大文字と小文字('A'と'a')は異なるキーコード(文字)として認識されます。 |
| ※ | ファンクションキー、編集キー(Ins,Del,BS)、移動キー、およびこれらのキーと補助キーとの組み合わせなど、KeyPressイベントでは認識できないキー操作を処理する場合は、KeyDown、KeyUpイベントを使用します。 |
●LeaveCell イベント
【機能】アクティブなセルが別のセルに変更される直前に発生します。
【書式例】Private Sub MSHFlexGrid1_LeaveCell()
【イベントの発生順→】
| |
| マウスでセル移動(クリック) | LeaveCell | EnterCell | RowColChange | MouseDown | SelChange | MouseUp | Click |
| 移動キーでセル移動 | LeaveCell | EnterCell | RowColChange | SelChange | KeyDown | | |
|
※ フォーカスが別のコントロールに移ったときには、このイベントは発生しません。
●LostFocus イベント
【機能】フォーカスを失ったときに発生します。
【書式例】Private Sub MSHFlexGrid1_LostFocus()
【イベントの発生順→】
| |
| フォーカスを失った | Validate | LostFocus |
|
※ GotFocusイベントで設定した値を元に戻す場合はここで記述します。
※ フォーカスを失いたくない場合は、Validate イベントで制御します。
●MouseDown、MouseUp イベント
【機能】マウスボタンを押したとき/離したときに発生します。
【書式例】Private Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
【書式例】Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
| |
Button : 押されたボタンに対応するビットのいずれか1つがオンになります。
| 左ボタン | vbLeftButton | 1 |
| 右ボタン | vbRightButton | 2 |
| 中央ボタン | vbMiddleButton | 4 |
Shift : Shift、Ctrl、Alt の押されたキーに対応するビットがオンになります。
| Shift | vbShiftMask | 1 |
| Ctrl | vbCtrlMask | 2 |
| Alt | vbAltMask | 4 |
x、y : マウス ポインタの現在位置を表す数値です。(関連:ScaleHeight、ScaleWidth、ScaleLeft、ScaleTop)
|
【イベントの発生順→】
| |
| クリック | MouseDown | MouseUp | Click | | |
| ダブルクリック | MouseDown | MouseUp | Click | DblClick | MouseUp |
|
|
●MouseMove イベント
【機能】グリッド上でマウスを移動したときに発生します。 ※実際はマウスポインタの下をグリッドが移動したとき
【書式例】Private Sub MSHFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
| |
Button : 押されたボタンに対応するビットがオンになります。
| 左ボタン | vbLeftButton | 1 |
| 右ボタン | vbRightButton | 2 |
| 中央ボタン | vbMiddleButton | 4 |
Shift : Shift、Ctrl、Alt の押されたキーに対応するビットがオンになります。
| Shift | vbShiftMask | 1 |
| Ctrl | vbCtrlMask | 2 |
| Alt | vbAltMask | 4 |
x、y : マウス ポインタの現在位置を表す数値です。(関連:ScaleHeight、ScaleWidth、ScaleLeft、ScaleTop)
|
【 例 】
If (Button And vbLeftButton) > 0 Then
MsgBox "左ボタンが押されています。"
End If
※ フォーカスの状態に関係なく、マウスポインタの下をグリッドが移動しているとイベントが発生します。
※ MouseMove内でグリッドを移動させるとイベントの連鎖が発生して、エラーの原因になります。
|
●Scroll イベント
【機能】スクロールしたときに発生します。
【書式例】Private Sub MSHFlexGrid1_Scroll()
【イベントの発生順→】
| |
| マウスでセル移動(クリック) | LeaveCell | EnterCell | RowColChange | MouseDown | Scroll | SelChange | MouseUp | Click |
| 移動キーでセル移動 | LeaveCell | Scroll | EnterCell | RowColChange | SelChange | KeyDown | | |
|
| ※ | ScrollTrack プロパティが真 (True) に設定されている場合、ユーザーがマウス ポインタをドラッグしているかスクロールを実行しているときに、このイベントが発生します。 |
| ※ | ScrollTrack プロパティが偽 (False) に設定されている場合、ドラッグが完了した時点でこのイベントが発生します。 |
●SelChange イベント
【機能】選択したセル範囲が別のセルまたはセル範囲に変更されたときに発生します。
【書式例】Private Sub MSHFlexGrid1_SelChange()
【イベントの発生順→】
| |
| マウスでセル範囲指定 | MouseDown | SelChange | MouseUp | Click | | | |
| マウスでセル移動(クリック) | LeaveCell | EnterCell | RowColChange | MouseDown | SelChange | MouseUp | Click |
|
※ プログラムから Row、Col、RowSel、または ColSelプロパティを使用して選択領域を変更することにより、このイベントを発生させることができます。
●Validate イベント
【機能】フォーカスが移動する前に発生します。
【書式例】Private Sub MSHFlexGrid1_Validate(Cancel As Boolean)
| |
| Cancel | コントロールがフォーカスを失うかどうかを決定する値です。真 (True) に設定すると、コントロールはフォーカスを維持します。 |
|
【イベントの発生順→】
| |
| フォーカスの移動 | Validate | LostFocus |
|
【 例 】
If (Flg = 1) Then
Cancel = True
End If
※ フォーカスを受け取るコントロールが CausesValidation プロパティを真 (True) に設定している場合に限り、Validate イベントが発生します。

|
|
|
|
|
|
|