elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Detectar posición del cursor de texto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Detectar posición del cursor de texto  (Leído 8,087 veces)
aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Detectar posición del cursor de texto
« en: 23 Julio 2008, 16:14 pm »

Hola. En mi aplicación necesito saber la posición del cursor del texto para poder hacer aparecer una ventana al final de una letra, justo al lado. Al estilo de VB. ¿Alguien sabe cómo?

Gracias de antemano.


En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Detectar posición del cursor de texto
« Respuesta #1 en: 23 Julio 2008, 19:02 pm »

Hola,probate este ejemplo,usa la api SendMessageLong y las constantes EM_LINEFROMCHAR,EM_GETLINECOUNT...y algunas mas para saber la posicion en el textbox...

posicion cursor textbox

saludos.


En línea

aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: Detectar posición del cursor de texto
« Respuesta #2 en: 23 Julio 2008, 23:26 pm »

Perdón por el malentendido, pero yo me refiero a las coordenadas en la pantalla. En el IDE de VB, cuando introduces algo que reconoce, como por ejemplo "App.", se despliega una lista con las posibles opciones. Lo que yo necesito son las coordenadas del texto para desplegar una lista en esa posición.

Saludos.
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Detectar posición del cursor de texto
« Respuesta #3 en: 23 Julio 2008, 23:42 pm »

si ahora entiendo,proba con GetCaretPos....te tira la cordenada dentro del textbox...

Código
  1. Option Explicit
  2. Private Declare Function GetCaretPos Lib "user32" (lpPoint As POINTAPI) As Long
  3. Private Type POINTAPI
  4.    X As Long
  5.    Y As Long
  6. End Type
  7.  
  8. Private Sub Text1_KeyPress(KeyAscii As Integer)
  9. Dim XPos As Long
  10. Dim YPos As Long
  11. XPos = GetTCursX
  12. YPos = GetTCursY
  13. Me.Caption = "X: " & XPos & " Y: " & YPos
  14. End Sub
  15.  
  16. Public Function GetTCursX() As Long
  17.    Dim pt As POINTAPI
  18.    GetCaretPos pt
  19.    GetTCursX = pt.X
  20. End Function
  21.  
  22. Public Function GetTCursY() As Long
  23.    Dim pt As POINTAPI
  24.    GetCaretPos pt
  25.    GetTCursY = pt.Y
  26. End Function
  27.  

saludos.
En línea

aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: Detectar posición del cursor de texto
« Respuesta #4 en: 23 Julio 2008, 23:44 pm »

Muchas gracias, seba123neo. Me funciona perfectamente.

Saludos.
En línea

aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: Detectar posición del cursor de texto
« Respuesta #5 en: 24 Julio 2008, 15:32 pm »

Una cosa, ¿cómo hago para hacer aparecer una ventana en esas coordenadas? Porque me devuelve X = 148 Y = 0, pero el formulario me aparece en otro sitio.

Saludos.
En línea

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Detectar posición del cursor de texto
« Respuesta #6 en: 24 Julio 2008, 19:49 pm »

Código
  1. Form1.Top = Y
  2. Form1.Left = X
  3. Form1.Show
En línea

aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: Detectar posición del cursor de texto
« Respuesta #7 en: 24 Julio 2008, 20:26 pm »

Hola. Eso ya lo sabía, pero al ponerlo así se mostraba arriba a la izquierda. Pero ya lo solucioné. Como quiero que aparezca al lado del texto escrito, sumo el Left de la caja de texto a la X y el Top de la misma a la Y y ya se coloca correctamente.

Saludos y gracias.
« Última modificación: 24 Julio 2008, 20:58 pm por aaronduran2 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines