Página 1 de 1

TTreeView HitTest(x,y)

Publicado: Mar Abr 05, 2011 6:41 pm
por Shadax
Muy buenas.
He estado tratando el método "HitTest" del objeto TTreeView. Pretendo llamar a la instrucción como la que sigue: <oNodo=::oTreeView:HitTest(CX, CY)> en dónde las coordenadas CX y CY son la posición actual del cursor.
Bien, ahí­ me surge el problema: ¿Cómo puedo obtener las coordenadas exactas del cursor del ratón? Mirando los fuentes del objeto TCursor he visto que está algo pobre en propiedades.
Gracias de antemano y un saludo.

TTreeView HitTest(x,y)

Publicado: Mar Abr 05, 2011 7:38 pm
por jfgimenez
Joan Ramón,
> He estado tratando el método "HitTest" del objeto
> TTreeView. Pretendo llamar a la instrucción como la que
> sigue: <oNodo=::oTreeView:HitTest(CX, CY)> en dónde las
> coordenadas CX y CY son la posición actual del cursor.
>
> Bien, ahí­ me surge el problema: ¿Cómo puedo obtener las
> coordenadas exactas del cursor del ratón? Mirando los
> fuentes del objeto TCursor he visto que está algo pobre en
> propiedades.
la clase TCursor maneja los cursores, entendiendo como tales a las formas
gráficas que representan la posición del cursor en pantalla (puntero, cruz,
reloj, etc.), pero en ningún caso maneja la posición del puntero del ratón
en un momento dado. Dicha posición se recibe normalmente a través de
eventos, que a su vez se disparan por acción del usuario. P.ej., el evento
OnLButtonDown que tienen la mayorí­a de los controles, recibe entre otros
parámetros la posición del ratón en el momento de pulsar el botón primario
del mismo.
En el caso concreto que comentas del treeview, precí­samente se utiliza el
método ::HitTest() desde el manejo de la pulsación del botoón derecho del
ratón, para determinar sobre qué item se ha pulsado.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

TTreeView HitTest(x,y)

Publicado: Mié Abr 06, 2011 12:48 pm
por Shadax
Bueno, igual no me he explicado bien.
Quiero saber las coordenadas exactas del cursor ( esté donde esté ) para hacer un hittest sobre esas coordenadas. Ya lo solventé con la api de Windows. Utilicé el ScreenToClient(Manejador, Objeto)
Gracias.