En un módulo .bas declaras:
Public Declare Function GetFocus Lib "user32" () As Long
Public Declare Function CreateCaret Lib "user32" (ByVal hwnd As Long, ByVal hBitmap As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Public Declare Function ShowCaret Lib "user32" (ByVal hwnd As Long) As Long
Y, en el mísmo módulo creas una función:
Public Function Cursor()
H& = GetFocus&()
B& = Form.NombreDelIco.Picture 'este valor te permite poner como cursor un .ico
' Form es el nombre del formulario donde está el picture con el .ico
' Si no quieres un .ico entonces usa:
'Call CreateCaret(H&, 0, 10, 10) ' cursor en forma de medio cuadro o entero
' dependiendo del valor del 3º y 4º parámetro
' Si usas Form .NombreDelIco.Picture ' el 3º y 4ª parámetro se ignoran
Call CreateCaret(H&, B&, 10, 10)
X& = ShowCaret&(H&)
End Function
Para llamarlo, hazlo desde el evento GotFocus, por ejemplo:
Private Sub Text1_GotFocus()
cursor
end sub
Si tienes alguna duda dímelo.
Pedro