Posición del cursor

Necesito que me aparezca un menu desplegable al estilo del que aparece en visual cuando estamos escribiendo código. Lo que necesito saber es como puedo saber la posición del cursor dentro de un richtextbox para que esta lista aparezca exactamente en esa posición. Espero que puedas ayudarme y contestarme lo más pronto posible.

1 Respuesta

Respuesta
1
Prueba con:
Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" _
(lpPoint As POINTAPI) As Long
Dim z As POINTAPI ' Declare variable
Private Sub Command1_Click()
GetCursorPos z ' Get Co-ordinets
Label1 = "x: " & z.x ' Get x co-ordinets
Label2 = "y: " & z.y ' Get y co-ordinets
End Sub
Una cosita:
No se si m explique mal.con lo que me has mandado puedo ver la posición del puntero del ratón. Pero lo que necesito es saber en que posición se esta escribiendo dentro del richtextbox, para que la lista desplegable se muestre junsto donde este escribiendo el usuario, al estilo de lo que hace visual basic.
Espero que se te ocurra algo. GRACIAS
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetCaretPos Lib _
"user32" (lpPoint As POINTAPI) As Long
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim XPos As Long
Dim YPos As Long
XPos = GetTCursX
YPos = GetTCursY
Me.Caption = "X: " & XPos & " Y: " & YPos
End Sub
Public Function GetTCursX() As Long
Dim pt As POINTAPI
GetCaretPos pt
GetTCursX = pt.X
End Function
Public Function GetTCursY() As Long
Dim pt As POINTAPI
GetCaretPos pt
GetTCursY = pt.Y
End Function
----------------------------
Si quieres cambiar de esxcala
Usa la siguiente función con su sintaxis
ScaleX (width, fromscale, toscale) 'Para el eje x
ScaleY (width, fromscale, toscale)
Tambien puedes llamar a GetTCursX y GetTCursY desde fuera de los eventos del control pero antes tienes que hacer un TextBox1. SetFocus para cuando llames a GetCaretPos sepa a que area cliente te refieres...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas