フォーム上のテキストボックス/コンボボックスがフォーカスを取得したとき、背景色を変えてアプリ独自のカーソルを表示する方法を紹介します。ここで紹介する方法は、Form_Loadイベントから Sub
SetCursor_FSをコールするだけで実現することができます。Sub
SetCursor_FSは、フォーカス取得時の条件付き書式を設定して背景色を変えています。
Public Sub SetCursor_FS(frm As Form, _
Optional lngForeColor As Long = vbBlack, _
Optional lngBackColor As Long = vbYellow)
Dim ctl As Control
For Each ctl In frm.Controls
With ctl
Select Case .ControlType
Case acTextBox, acComboBox
.FormatConditions.Delete
With .FormatConditions.Add(Type:=acFieldHasFocus)
.ForeColor = lngForeColor
.BackColor = lngBackColor
End With
End Select
End With
Next ctl
End Sub